[英]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.