多个实体框架可以查询的.Where()子句我正在尝试使用实体框架实现一个复杂的过滤器:我想provide搜索条件向可查询对象添加一个where子句。我可以在EntityFramework6中执行以下操作吗?varqueryable=db.Users.Where(x=>x.Enabled&&!x.Deleted);//过滤器varuserId=User.Identity.GetUserId();queryable.Where(x=>x.AspNetUser.Id==userId);queryable.Where(x=>x.Status>=2);//...等等我知道我可以这样做:varqueryable=db.Users.Where(x=>x.Enabled&&!x.Deleted).Where(x=>x.AspNetUser.Id==userId)。其中(x=>x.Status>=2);但是我没有得到这个解决方案的预期结果。它似乎忽略了第二个第二个子句。.where返回可查询的内容,不修改原来的内容。所以你只需要保存新的可查询。varqueryable=db.Users.Where(x=>x.Enabled&&!x.Deleted);//过滤器varuserId=User.Identity.GetUserId();queryable=queryable.Where(x=>x.AspNetUser.Id==userId);queryable=queryable.Where(x=>x.Status>=2);//...等我猜你正在尝试的是运行时搜索。如果是这种情况,您有两种选择。使用表达式构建运行时where子句。您可能必须使用谓词生成器。此谓词生成器可能不适用于实体框架。但是这个应该与实体框架一起使用。使用动态Linq。这是迄今为止最简单的。它用途广泛。不仅可以在哪里做,它还支持选择和排序,以及其他运行时轻松!让我们来看看。以上就是C#学习教程的全部内容:实体框架可以查询的多个.Where()子句。如果对你有用,需要了解更多C#学习教程,希望大家多加关注——本文来自网络收集,不代表立场,如涉及侵权,请点击有权联系管理员删除。如需转载请注明出处:
