![](/img/trans.png)
[英]How to write below mysql query using Entity Framework with Lambda expression?
[英]Entity Framework - writing query using lambda expression
我剛剛啟動了Entity Framework&linq並編寫了這個查詢
var query = from rp in db.UM_RolePermission
where (from ru in db.UM_RoleUser
where ru.UM_User.UserID == userId select ru.RoleID).Contains(rp.RoleId)
select rp;
上面工作正常並滿足我的需要,但是我正在嘗試使用lambda表達式來理解這一點。
我試過自己寫這個,但我無法完成它。
var query1 = db.UM_RolePermission
.Where(rp => (from ru in db.UM_RoleUser where ru.UM_User.UserID == userId select ru.RoleID).Contains(rp.RoleId));
有人可以完成這個嗎?
關系:
UM_RoleUser and UM_User
謝謝
var query = db.UM_RolePermission
.Where(rp => db.UM_RoleUser
.Where(ru => ru.UM_User.UserID == userId)
.Select(ru => ru.RoleID)
.Contains(rp.RoleId))
我將繼續前進並假設您已經在多對多關系中定義了RolePermission和RoleUser之間的關系? 這將使你的生活變得更加簡單。
var query1 = db.UM_RoleUser
.Where(ru => ru.UserId == userID)
.SelectMany(rp => rp.RolePermissions);
當然,這取決於你如何建立你的人際關系。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.