Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 累积记录的LINQ_C#_Linq_Entity Framework_Ado.net_Visual Studio Lightswitch - Fatal编程技术网

C# 累积记录的LINQ

C# 累积记录的LINQ,c#,linq,entity-framework,ado.net,visual-studio-lightswitch,C#,Linq,Entity Framework,Ado.net,Visual Studio Lightswitch,我有两个实体,分别称为患者和电话呼叫历史,具有1-m关系 查询如下:, 数据模型是 以下是示例电话数据 如果在接下来的几份记录中没有完成任何联系目的,我想返回需要回拨联系结果的患者记录。基本上,我正在尝试创建一个警报/通知,供用户跟进 我已经想出了以下代码 query = query .Where(m => !m.PatientsMasterItem .PatientsTelephoneFollowupDetail.Any(l => l.St

我有两个实体,分别称为
患者
电话呼叫历史
,具有1-m关系

查询如下:,

数据模型是

以下是示例电话数据

如果在接下来的几份记录中没有完成任何联系目的,我想返回需要回拨联系结果的患者记录。基本上,我正在尝试创建一个警报/通知,供用户跟进

我已经想出了以下代码

query = query
     .Where(m => !m.PatientsMasterItem
             .PatientsTelephoneFollowupDetail.Any(l => l.Status == "1"));  

但在上面给出的示例中它不起作用(请参阅测试数据)。但最后一条记录仍需要后续操作。

这不是编译的-这只是一个提示。你需要像这样的东西

        var required = query.Where(DoesPatientNeedCallback);

        public static bool DoesPatientNeedCallback(Patient p)
        {
              var last = p.PatientsMasterItem.PatientsTelephoneFollowupDetail.LastOrDefault(c => c.Status == 'Contact Required' || c.Status == 'Contact Purpose Completed);
              return last != null && last.Status == 'Contact Required'

        }

这不是编译的-这只是一个提示。你需要像这样的东西

        var required = query.Where(DoesPatientNeedCallback);

        public static bool DoesPatientNeedCallback(Patient p)
        {
              var last = p.PatientsMasterItem.PatientsTelephoneFollowupDetail.LastOrDefault(c => c.Status == 'Contact Required' || c.Status == 'Contact Purpose Completed);
              return last != null && last.Status == 'Contact Required'

        }

完整的代码如下

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.LightSwitch;
using Microsoft.LightSwitch.Security.Server;

namespace LightSwitchApplication
{
public partial class ApplicationDataService
{

    partial void StatusCallBackRequired_PreprocessQuery(ref IQueryable<PatientsTelephoneFollowupDetail> query)
    {
        var required = query.Where(PatientNeedCallback);

    }

    public static bool PatientNeedCallback(PatientsTelephoneFollowupDetail p)
    {
        var last = p.PatientsMasterItem.PatientsTelephoneFollowupDetail.LastOrDefault(c => c.Status == "7" || c.Status == "1");
        return last != null && last.Status == "7";

    }
}    


}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用Microsoft.LightSwitch;
使用Microsoft.LightSwitch.Security.Server;
名称空间LightSwitch应用程序
{
公共部分类ApplicationDataService
{
部分无效状态CallbackRequired\u预查询(参考IQueryable查询)
{
var required=query.Where(PatientNeedCallback);
}
公共静态布尔PatientNeedCallback(PatientTelephoneFollowUpDetail p)
{
var last=p.PatientsMasterItem.PatientsTelephoneFollowupDetail.LastOrDefault(c=>c.Status==“7”| | c.Status==“1”);
返回last!=null&&last.Status==“7”;
}
}    
}

完整的代码如下

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.LightSwitch;
using Microsoft.LightSwitch.Security.Server;

namespace LightSwitchApplication
{
public partial class ApplicationDataService
{

    partial void StatusCallBackRequired_PreprocessQuery(ref IQueryable<PatientsTelephoneFollowupDetail> query)
    {
        var required = query.Where(PatientNeedCallback);

    }

    public static bool PatientNeedCallback(PatientsTelephoneFollowupDetail p)
    {
        var last = p.PatientsMasterItem.PatientsTelephoneFollowupDetail.LastOrDefault(c => c.Status == "7" || c.Status == "1");
        return last != null && last.Status == "7";

    }
}    


}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用Microsoft.LightSwitch;
使用Microsoft.LightSwitch.Security.Server;
名称空间LightSwitch应用程序
{
公共部分类ApplicationDataService
{
部分无效状态CallbackRequired\u预查询(参考IQueryable查询)
{
var required=query.Where(PatientNeedCallback);
}
公共静态布尔PatientNeedCallback(PatientTelephoneFollowUpDetail p)
{
var last=p.PatientsMasterItem.PatientsTelephoneFollowupDetail.LastOrDefault(c=>c.Status==“7”| | c.Status==“1”);
返回last!=null&&last.Status==“7”;
}
}    
}

两个问题。你能展示你的域模型吗?查询的初始值是什么?您的屏幕截图与您的查询有何关联?屏幕截图显示了一名患者的样本数据。状态1涉及“联系目的已完成”两个问题。你能展示你的域模型吗?查询的初始值是什么?您的屏幕截图与您的查询有何关联?屏幕截图显示了一名患者的样本数据。状态1指“联系人目的已完成”