我在EF中使用linq查詢特定屬性的問題。無法查詢集合的集合
概述,用戶具有關聯的角色。每個角色都有關聯組。我只是試圖獲取與用戶關聯的所有組的MAMUserGroup屬性。我可以很容易地使用.Include()獲得關聯角色,但是在向關聯的MAMUserGroups添加一個額外級別時遇到困難。
用戶模式:
public class User
{
[Display(Name = "SSO")]
[Required]
[StringLength(9, ErrorMessage = "SSO must be 9 numbers", MinimumLength = 9)]
public virtual string ID { get; set; }
[Display(Name = "First Name")]
[Required]
public string FirstName { get; set; }
[Display(Name = "Last Name")]
[Required]
public string LastName { get; set; }
[Display(Name = "MAM Roles")]
public ICollection<MAMRoleModel> MAMRoles { get; set; }
}
MAMRole型號:
public class MAMRoleModel
{
public int ID { get; set; }
public string Name { get; set; }
public ICollection<MAMUserGroupModels> MAMUserGroups { get; set; }
}
MAM組型號:
public class MAMUserGroupModels
{
public int ID { get; set; }
public string MAMUserGroup { get; set; }
}
我已經試過
foreach(var bar in user.MAMRoles)
{
foreach(var foo in bar.MAMUserGroups)
{
//do something
}
}
但收到空引用錯誤。我也試過從haim770
var test = db.Users.Include(x => x.MAMRoles.Select(y=> y.MAMUserGroups));
但是MAMUserGroup是0的計數,所以它沒有看到引用。
'yourDbSet.Include(user => user.MAMRoles.Select(role => role.MAMUserGroups))' – haim770
顯示您嘗試過的方式,以及它在哪裏給您提供問題[mcve] – Nkosi
haim770,我是使用此代碼獲得0個MAMUserGroups的計數。我去了,並驗證我的sql對象資源管理器中存在關係數據。 – rStackSharper