我有一个模型,它有一个只返回第一条记录的子集合。父(userModel)看起来像:
public class User
{
[Key]
public int UserID { get; set; }
public string Username { get; set; }
[StringLength(50)]
public string EmailAddress { get; set; }
public bool IsDeleted{ get; set; }
[ForeignKey("UserID")]
public virtual UserInformation UserInformation{ get; set; }
[ForeignKey("UserID")]
public virtual IEnumerable<UserMember> UserMember{ get; set; }
}
未正确补水的模型是 UserMember 集合。它看起来像这样:
public class UserMember
{
[Key]
public int UserID { get; set; }
public int GroupID { get; set; }
public DateTimeOffset Created { get; set; }
public virtual Group Group { get; set; }
}
我正在使用的查询是:
public IQueryable<User> GetUserByUserSId(Guid userSid)
{
return _freightPortalPreferencesContext.User
.Include(ui => ui.UserInformation)
.Include(um => um.UserMember)
.Where(x => x.SID == userSid && x.Enabled);
}
它正在为一个 UserMember 补水,但我希望看到 3 个结果。用户--> 用户成员。
我尝试将 IEnumerable 更改为 ICollection,但它也不起作用。我在上下文中没有任何流畅的语法代码,除了通常的映射等 - modelBuilder.Entity().ToTable("user", "info");
有任何想法吗?