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 回答
慕运维8079593
TA贡献1876条经验 获得超5个赞
LINQKit
Microsoft.Linq.Dynamic
- 3 回答
- 0 关注
- 1001 浏览
添加回答
举报
0/150
提交
取消