如果我这样做:
var organisationList = _context.OrganisationCategory.ToList();
它只返回没有组织和类别的列表。它没有回馈组织和类别模型,但我得到了一个列表:
1, null, null
2, null, null
3, null, null
我想我犯了一个错误?在数据库中是组织的ID和正确设置的类别。
OrganisationCategory模型:
public class OrganisationCategory
{
public int ID { get; set; }
public Organisation Organisation { get; set; }
public Category Category { get; set; }
public OrganisationCategory() { }
public OrganisationCategory(Organisation Organisation, Category Category)
{
this.Organisation = Organisation;
this.Category = Category;
}
}
ApplicationDbContextMOdelSnapshot.cs:
modelBuilder.Entity("Implicietmeten.Models.Organisations.Categories.OrganisationCategory", b =>
{
b.Property<int>("ID")
.ValueGeneratedOnAdd();
b.Property<int?>("CategoryID");
b.Property<int?>("OrganisationID");
b.HasKey("ID");
});
答案 0 :(得分:6)
实体框架核心仍然不支持延迟加载,因此您只能使用这样的预先加载:
var organisationList = _context.OrganisationCategory.Include(x => x.Organization).Include(x => x.Category).ToList();
答案 1 :(得分:1)
尝试访问相关实体时应使用virtual关键字。这将允许实体框架在第一次访问实体时使用延迟加载来加载实体。
public class OrganisationCategory
{
public int ID { get; set; }
public virtual Organisation Organisation { get; set; }
public virtual Category Category { get; set; }
public OrganisationCategory() { }
public OrganisationCategory(Organisation Organisation, Category Category)
{
this.Organisation = Organisation;
this.Category = Category;
}
}