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
Linq 使用和/或动态创建谓词?_Linq - Fatal编程技术网

Linq 使用和/或动态创建谓词?

Linq 使用和/或动态创建谓词?,linq,Linq,我有一个基于多个字段的数据创建谓词的方法。字段可以包含逗号分隔的值。我可以创建一个谓词,该谓词将或字段中的值合并在一起,但是我需要将和字段合并在一起 if (model.MICA != null) { List<string> ids = ParseCSVList(model.MICA); foreach (var id in ids) { predica

我有一个基于多个字段的数据创建谓词的方法。字段可以包含逗号分隔的值。我可以创建一个谓词,该谓词将或字段中的值合并在一起,但是我需要将和字段合并在一起

    if (model.MICA != null)
        {
            List<string> ids = ParseCSVList(model.MICA); 
            foreach (var id in ids)
            {
                predicate = predicate.Or(m =>  m.idtype == "MICA" && m.idnumber.Contains(id));
            }
        }
** I need to AND these two records together**
        if (model.FRID != null)
        {
            List<string> ids = ParseCSVList(model.FRID);
            foreach (var id in ids)
            {
                predicate = predicate.Or(e => e.idtype == "FRID" && e.idnumber.Contains(id));
            }
        }
if(model.MICA!=null)
{
列表ID=ParseCSVList(model.MICA);
foreach(id中的变量id)
{
谓词=谓词。或(m=>m.idtype==“MICA”&&m.idnumber.Contains(id));
}
}
**我需要把这两张唱片放在一起**
如果(model.FRID!=null)
{
列表ID=ParseCSVList(model.FRID);
foreach(id中的变量id)
{
谓词=谓词。或(e=>e.idtype==“FRID”&&e.idnumber.Contains(id));
}
}

在构建谓词时,有没有一种简单的方法可以做到这一点?

使用谓词有什么问题。以及