Entity framework 带有多个where子句的EFCore查询,这些子句一起充当AND而不是OR
这是一个很明显但很棘手的问题。我在网上找不到它的答案,或者只是缺少了可以找到答案的关键词 假设我们有很多条件,我们想根据这些条件过滤数据。这些条件在多个块中。如何编写它们,使它们作为Entity framework 带有多个where子句的EFCore查询,这些子句一起充当AND而不是OR,entity-framework,ef-core-3.0,Entity Framework,Ef Core 3.0,这是一个很明显但很棘手的问题。我在网上找不到它的答案,或者只是缺少了可以找到答案的关键词 假设我们有很多条件,我们想根据这些条件过滤数据。这些条件在多个块中。如何编写它们,使它们作为和子句工作,而不是或,前提是它们仅在特定条件下参与 var query = _entities.AsQueryable(); if (model.CityId != default) { query = query.Where(x => x.CityId == mode
和
子句工作,而不是或
,前提是它们仅在特定条件下参与
var query = _entities.AsQueryable();
if (model.CityId != default)
{
query = query.Where(x => x.CityId == model.CityId);
}
if (!string.IsNullOrWhiteSpace(model.PostalCode))
{
query = query.Where(x => x.Proppostcode == model.PostalCode);
}
if (!string.IsNullOrWhiteSpace(model.AirportCode))
{
query = query.Where(x => x.AirportCode == model.AirportCode);
}
如果这个问题需要更多细节,请告诉我。谢谢大家!
我是否缺少可以找到答案的关键字
是,缺少的关键字是动态表达式
或动态查询
。如果你遵循这些关键词,你会找到很多解决问题的方法
如前所述:
动态查询
允许您在运行时使用字符串表达式执行动态where
子句、选择
、按顺序
您也可以访问以下链接: