[英]I can not make the correct linq request
我提出一个请求,它有效。
var query = db.Persons.Where(p => p.Date == "27.02.2020").Where(p => p.Country == "USA");
但是由于我需要在 if-else 中使用它,所以我对其进行了一些更改,现在他只选择了最后一个 Where。
如何解决这个问题?
var query = db.Persons;
query.Where(p => p.Date == "27.02.2020");
query.Where(p => p.Country == "USA");
与所有 LINQ 方法一样, Where
方法不会就地修改源枚举,而是返回一个新的枚举,该枚举应用了操作,或者在这种情况下为过滤器。
这意味着您需要将每个操作的结果分配回您的变量以使其保持不变。 以下内容应等同于您的原始代码段:
IQueryable<Person> query = db.Persons;
query = query.Where(p => p.Date == "27.02.2020");
query = query.Where(p => p.Country == "USA");
正如评论中所指出的, query
变量类型现在需要与db.Persons
的类型和Where
的返回类型兼容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.