我有下表關系
User
-List<Role> on User.RoleId = Id
-RoleDetail on Role.RoleDetailId = Id
-Practice on Role.PracticeId = Id
雖然我確實在 EF 中鏈接了所有這些物體,但當我使用 dbConext Include 查詢用戶時,我只能訪問角色,無法訪問 RoleDetail 和 Practice,這是可以理解的。有什么方法可以更改我查詢用戶的方式以包含這些資訊?
如果沒有,我應該如何有效地加入這些表?我不希望針對每個用戶的多個角色進行 foreach 回圈,而是針對單個查詢請求。任何幫助/提示表示贊賞。
查詢具有角色的用戶
users = _dbcontext.Users.Include(u => u.Roles)
加盟
var userQuery = _userRepository.GetUser(searchTerm);
var roleQuery = _roleRepository.GetRole();
var test = from user in userQuery join role in roleQuery on user.Roles....
uj5u.com熱心網友回復:
您需要使用兩個Include角色來獲取所有資料,如下所示:
users = _dbcontext.Users.Include(u => u.Roles).ThenInclude(x=>x.RoleDetail)
.Include(u => u.Roles).ThenInclude(x=>x.Practice)
.AsSplitQuery(); //highly recommend if you are using .Net >=5
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/464424.html
上一篇:.NetcoreCLIDbContext腳手架將表名更改為sigular
下一篇:為什么我不能將專案添加到資料庫?
