我无法按预期获得结果,这里是跟随lambda查询
var query = from au in db.Users
join auc in db.UserRoles.Where(ac => !ac.Role.Contains("Supplier"))
on au.UserName equals auc.UserName
into g
from ab in g.DefaultIfEmpty()
select new { UserName = au.UserName };
我想要的是,来自UserNames
表的所有Users
在Supplier
表中没有UserRoles
个角色。表达式中条件不起作用的地方。而User和UserRoles都是不同的表,没有任何关系
感谢Adv
答案 0 :(得分:0)
我的概念是你需要添加一个
where ab == null
但是,我这样写,所以我不必担心加入的行为(复制等)
IQueryable<string> query =
from au in db.Users
where !au.UserRoles.Any(ur => ur.Role.Contains("Supplier"))
select au.UserName;