我有一些模型,我想有一个“一对零或一”的关联。我搜索并尝试使用 Fluent API 进行关联。这是我的课程:
public partial class Bill
{
[Key]
public int Id { get; set; }
[Required]
public double Amount { get; set; }
public virtual DomainRegOrder DomainRegOrder { get; set; }
}
public partial class DomainRegOrder
{
[Key]
public int Id { get; set; }
[Required]
public string DomainName { get; set; }
public virtual Bill Bill { get; set; }
}
在我的 DataContext 类中:
public class DataContext : DbContext {
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<DomainRegOrder>()
.HasOptional(x => x.Bill)
.WithOptionalDependent();
}
但是当我初始化数据库时,在Bills表中,我将有两列名为“ DomainRegOrder_Id ”和“ DomainRegOrder_Id1 ”。
我尝试在Bill实体中添加DomainRegOrderId ,如下所示:
public int? DomainRegOrderId { get; set; }
但是“Bills”表上会有一个“ DomainRegOrderId ”和一个“ DomainRegOrder_Id ”。
我还将.WithOptionalDependent()更改为.WithOptionalPrincipal() 但据我所知没有进行任何更改!
有人可以帮我摆脱这些重复的外键吗?