次の 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 部分で処理して同じ結果を得ることができます。
where !Usr.RoleName.Equals("Admin")
しかし、linq の join 部分でこれを処理することは可能ですか?
前もって感謝します