为了账号安全,请及时绑定邮箱和手机立即绑定

Linq中用于实体的动态WHERE子句(OR)

Linq中用于实体的动态WHERE子句(OR)

holdtom 2019-07-11 10:35:20
Linq中用于实体的动态WHERE子句(OR)在岗位上这里我学习了如何使用Linq的延迟执行来构建动态查询。但是,查询实际上使用的是和地点条件的串联。如果使用OR逻辑,如何实现相同的查询?由于使用了Flagesenum,查询应该搜索用户名, Windows用户名或双管齐下:public User GetUser(IdentifierType type, string identifier){     using (var context = contextFactory.Invoke())     {         var query = from u in context.Users select u;         if (type.HasFlag(IdentifierType.Username))             query = query.Where(u => u.Username == identifier);         if (type.HasFlag(IdentifierType.Windows))             query = query.Where(u => u.WindowsUsername == identifier);         return query.FirstOrDefault();     }}
查看完整描述

3 回答

?
慕哥9229398

TA贡献1877条经验 获得超6个赞

这应该会有帮助.。

包含多列查询

表的设计似乎也有一个根本的问题(如果我错了,请纠正我)。数据库中标识类型的用途是什么?


查看完整回答
反对 回复 2019-07-11
?
慕运维8079593

TA贡献1876条经验 获得超5个赞

我得用LINQKit使用此解决方案的库-或者按照第二个链接到另一个选项。但是,我继续搜索并安装了Microsoft.Linq.DynamicNuget包裹,满足了我的需要。(微软的免费赠品通常是允许的,不需要额外的繁文缛节)。

查看完整回答
反对 回复 2019-07-11
  • 3 回答
  • 0 关注
  • 1001 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信