定义两种类型之间的关系时,在两种类型中包含导航属性很重要,例如在以下示例中:
public class Product
{
public int ProductId { get; set; }
public string Name { get; set; }
public Category Category { get; set; }
}
public class Category
{
public int CategoryId { get; set; }
public string Name { get; set; }
public ICollection<Product> Products { get; set; }
}
我可以不在类别中包含导航属性吗?
答案 0 :(得分:1)
如果您只是想通过代码优先约定,那么是的,您需要两者都有。我还将该集合设置为“虚拟”以支持延迟加载。
您可以在构建模型时使用流畅配置进行设置。它会是这样的
modelBuilder.Entity<Product>()
.HasMany(x => x.Category)