這裏一個簡單的模型流利的映射:出了錯在EF 4.1代碼第一次
public class Product1
{
public int Id { get; set; }
public double Price { get; set; }
public int CurrencyID { get; set; }
public Currency Currency { get; set; }
}
public class Product2
{
public int Id { get; set; }
public double Price { get; set; }
public int CurrencyID { get; set; }
public Currency Currency { get; set; }
}
public class Currency
{
public int Id { get; set; }
public string Name { get; set; }
public string ISO4217 { get; set; }
public string Symbol { get; set; }
}
正如你可以看到,貨幣僅僅是將兩個不同的實體使用的名單,但如果我嘗試運行這,它給了我一個錯誤,說這是無效的,因爲可能導致多個層疊路徑。
現在我正在努力思考,如何建模上OnModelCreating
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Product1>().HasRequired(p => p.Currency).WithMany().WillCascadeOnDelete(false);
modelBuilder.Entity<Product2>().HasRequired(p => p.Currency).WithMany().WillCascadeOnDelete(false);
}
但由於某些原因這一點,雖然產品被正確創建每當我嘗試加載它,貨幣談到空。
我在這種建模中做錯了什麼?
謝謝!
你可以寫你的評論作爲答案,並接受你自己的答案。閱讀並查看其他人已經解決問題更容易。 – Slauma
我知道,但是因爲我是新來的,所以我不能那樣做,直到我獲得10點聲望點。這是一個愚蠢的規則,但這不是我的錯。 –