我有一个名为ProductTypeId
的外键属性的Product模型。但是,我没有ProductType
模型。相反,我有一个TypeListItem
模型。我想告诉EF,仍然可以在ProductTypeId
表格中创建从Id
到TypeListItem
的关系。
我想使用Entity Framework Core流畅的API来指定它,但无法弄清楚如何。我相信我曾经使用HasRequired
,但我认为EF Core中没有。
以下是相关模型:
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public int ProductTypeId { get; set; }
}
public class TypeListItem
{
public int Id { get; set; }
public string Name { get; set; }
}
我相信我可能需要向TypeListItem
模型添加Product
的导航属性才能使其成为可能吗?
答案 0 :(得分:0)
在EF Core中,即使没有导航属性也可以,因为HasXYZ
/ WithXYZ
方法都有无参数重载(顺便说一下,而不是XYZRequired
/ XYZOptional
,EF Core使用XYZOne
,可与IsRequired()
结合使用。
模型的流畅配置就像现在一样:
modelBuilder.Entity<Product>()
.HasOne<TypeListItem>()
.WithMany()
.HasForeignKey(e => e.ProductTypeId);