Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.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/6/entity-framework/4.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# 是否可以将LinqKit PredicateBuilder作为子查询插入?_C#_Entity Framework_Predicate_Linqkit - Fatal编程技术网

C# 是否可以将LinqKit PredicateBuilder作为子查询插入?

C# 是否可以将LinqKit PredicateBuilder作为子查询插入?,c#,entity-framework,predicate,linqkit,C#,Entity Framework,Predicate,Linqkit,我现在有一个工作的多级谓词,如下所示 var predicate = PredicateBuilder.New<Patient>(); foreach (var code in codeArray) // ect..["AB12", "W231", "Q213"] { string localCode = code; predicate.Or(p => p.Requests.Any( u => u.Records.Any(

我现在有一个工作的多级谓词,如下所示

var predicate = PredicateBuilder.New<Patient>();
foreach (var code in codeArray) // ect..["AB12", "W231", "Q213"]
{
    string localCode = code;
    predicate.Or(p => p.Requests.Any(
        u => u.Records.Any(
            t => t.OutgoingRecords.Any(
                s => s.Code == localCode)
            )
        )
    );
}

res = query.AsExpandable().Where(predicate); 
// Query is built up from an outside source and is eventually turned into a list via .ToListAsync()
当我真正应该制作的是

query =  p => p.PatientEpisodes.Any(u => u.EpisodeGroupings.Any(t => t.EpisodeDiagnoses.Any(s => s.Code == 'AB12' || s.Code == 'W312' || s.Code == 'Q213'))) 
有没有办法在查询的子级别插入谓词,如下面所示?我目前的尝试到目前为止都失败了

var predicate = PredicateBuilder.New<RecordCode>();
foreach (var code in codeArray)
{
    string localCode = code;
    predicate.Or(p => p.Code == localCode);
}

query = query.AsExpandable().Where(
    s => s.Requests.Any(
        c => c.Records.Any(
            d => d.OutgoingRecords.Any(predicate))));
var predicate=PredicateBuilder.New();
foreach(codeArray中的var代码)
{
字符串localCode=code;
谓词.Or(p=>p.Code==localCode);
}
query=query.AsExpandable()。其中(
s=>s.Requests.Any(
c=>c.Records.Any(
d=>d.OutgoingRecords.Any(谓词));

非常感谢。

这方面运气好吗?我也面临着同样的问题。我恐怕没有,我不得不坚持一些相当繁重的问题,幸运的是这些问题还不是太密集。这方面运气好吗?我也面临着同样的问题。恐怕不是,我不得不坚持一些相当繁重的查询,幸运的是这些查询还不是太密集。
var predicate = PredicateBuilder.New<RecordCode>();
foreach (var code in codeArray)
{
    string localCode = code;
    predicate.Or(p => p.Code == localCode);
}

query = query.AsExpandable().Where(
    s => s.Requests.Any(
        c => c.Records.Any(
            d => d.OutgoingRecords.Any(predicate))));