簡體   English   中英

如何使用FluentMigrator創建一對一外鍵

[英]How to create one to one foreign key using FluentMigrator

我正在使用以下代碼創建外鍵:

Create.ForeignKey("FK_Table1_Table2")
    .FromTable("Table1").ForeignColumn("Table1_ID")
    .ToTable("Table2").PrimaryColumn("Table2_ID");

結果,我有了一對多的關系:

public class Table1
{
    public int Table1_ID { get; set; }
    public virtual Table2 Table2 { get; set; }
}


public class Table2
{
    public Table2()
    {
        this.Tables1 = new HashSet<Table1>();
    }
    public int Table2_ID { get; set; }
    public virtual ICollection<Table1> Tables1 { get; set; }
}

但我想看看:

public class Table2
{
    public int Table2_ID { get; set; }
    public virtual Table1 Table1 { get; set; }
}

使用FluentMigrator有辦法做到這一點嗎?

對於多對一的FK關系,關系數據庫沒有特殊的概念。 FK變成“一個”的唯一方法是,如果它也有唯一的約束。

因此,我相信您應該在外鍵創建代碼之后添加以下內容:

Create.UniqueConstraint()
    .OnTable("Table1").Column("Table1_ID");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM