私はいくつかのモデルを持っており、「1 対 0 または 1」の関連付けを行いたいと考えています。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 」という名前の 2 つの列ができます。
以下のようにBillエンティティにDomainRegOrderIdを追加しようとしました。
public int? DomainRegOrderId { get; set; }
しかし、"Bills" テーブルには" DomainRegOrderId " と " DomainRegOrder_Id " があります。
私も.WithOptionalDependent()を.WithOptionalPrincipal()に 変更しましたが、私の知る限り変更はありません!!
誰かがこれらの重複した外部キーを取り除くのを手伝ってくれませんか?