public class ProductType
{
public Guid ID { get; set }
public string Name { get; set }
public ICollection<ProductCategory> Categories { get; set }
}
public class ProductCategory
{
public Guid ID { get; set }
public string Name { get; set }
public ProductType ProductType { get; set; }
}
ProductTypeConfiguration
HasMany(p => p.Categories).WithRequired().WillCascadeOnDelete(false);
请注意属性Categories
和ProductType
关系是一个(ProductType)到很多(ProductCategory),但是ProductCategory
与单个ProductType
关联!
在我的数据库中创建了两个FKS !! 对于这种情况,配置(使用FluentAPI )将如何?
感谢!!!
答案 0 :(得分:7)
HasMany(p => p.Categories)
.WithRequired(c => c.ProductType) // specify inverse navigation property here
.WillCascadeOnDelete(false);
如果省略WithRequired
中导航属性的lambda,则EF假定Category.ProductType
属于另一个第二关系 - 这是数据库表中第二个外键的原因。