【发布时间】:2012-05-17 19:39:40
【问题描述】:
我正在尝试将以下 SQL 查询转换为 linq;
select Or.Amount, Usr.Name, Usr.Email
from [order] as Or
left join vw_AllUsers as Usr on Usr.UserId = Or.UserId and Usr.RoleName <> 'Admin'
我找不到在同一个联接中使用 equal 和 not equal 的方法。 如果 Usr.RoleName 'Admin' 是 Usr.RoleName = 'Admin',则 linq 语句可以这样写
var result = from Or in context.orders
join Usr in context.vw_AllUsers on
new { userid = Or.UserId, role = "Admin"}
equals
new { userid = Usr.UserId, role = Usr.RoleName}
select ........
或者我可以在 linq 的一部分中处理它以获得相同的结果,如下所示
where !Usr.RoleName.Equals("Admin")
但是是否可以在 linq 的连接部分中处理这个问题?
提前致谢
【问题讨论】:
-
@nawfal 不是重复的,这个问题是关于在同一个查询中同时使用相等和不相等的。
标签: linq entity-framework