У меня есть сущность с коллекцией внутри коллекции. У меня возникла проблема с загрузкой содержимого коллекции.загрузка объектов в EF7
// Site
public class Site{
protected Site()
{
SiteUsers = new HashSet<SiteUser>();
}
public virtual ICollection<SiteUser> SiteUsers { get; set; }
}
// Site User
public class SiteUser
{
protected SiteUser()
{
Roles = new HashSet<SiteUserRole>();
}
public virtual ICollection<SiteUserRole> Roles { get; protected set; }
}
// SiteUserRole
public class SiteUserRole
{
protected SiteUserRole()
{
}
private SiteUserRole(Guid id, SiteRoleEnum role)
{
Id = id;
Role = role;
DateCreated = DateTimeOffset.UtcNow;
}
public Guid Id { get; set; }
public SiteRoleEnum Role { get; set; }
public DateTimeOffset DateCreated { get; set; }
public static SiteUserRole Create(Guid id, SiteRoleEnum role)
{
return new SiteUserRole(id, role);
}
}
//I put this on DbContext
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Site>().HasMany(r => r.SiteUsers);
}
Когда я запрос к сайту оно не»включает в себя роли siteuser возвращения _context.Sites.Include (с => c.SiteUsers);
Не похоже, что ничего плохого с ним. Проверьте выполненный SQL. Содержит ли это соединение? –
не должны ли ваши коллекции SiteUsers и Roles внутри определений классов? Это просто опечатка или это причина вашей проблемы? –
да это просто опечатка –