簡體   English   中英

EF 6代碼的第一列未創建

[英]EF 6 Code First one column is not created

我正在使用EF 6代碼首先,我不明白為什么沒有為我的模型的屬性創建一列。

這是頭等艙:

    public class Original
    {
    public int ID { get; set; }
    public string Nom { get; private set; }
    public Historique Historique { get; private set; }
    public Traduction Traduction { get; private set; }
    }

這是第二堂課:

   public class Traduction
   { 
    public int ID { get; set; }
    public Utilisateur Traducteur { get; private set; }
    public Original Original { get; private set; }
    public string Content { get; private set; }
   }

EF不會為Traduction和Original創建FK列。 (“轉導”表不包含“原始”的FK列,反之亦然),但它可以完美地創建所有其他列和FK。

我正在使用Fluent API來建立關系。 我試圖既依賴於自動約定,又明確地使用以下方式配置關系:

   modelBuilder.Entity<Original>().HasRequired(o => o.Traduction).WithRequiredPrincipal(t=>t.Original).WillCascadeOnDelete(true);

但是仍然沒有創建列。

謝謝您的幫助

更新

我不知道它是否有用,但我想添加一個信息,我的Dbset在上下文類中是這樣定義的:

public DbSet<Traduction> Traductions { get; set; }
public DbSet<Original> Originaux { get; set; }

“ Originaux”如果將法語復數表示為“ Originals”。 但是我注意到EF創建的表被命名為“ Originals”,並且沒有遵循DbSet的名稱。 我不知道,也許這可能是問題的原因。

正如Dismissile所說,EF不會創建額外的列來容納外鍵,因為它是一對一的關系。 這是正常現象,實際上沒有錯。

暫無
暫無

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

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