[英]EF6 - TPT - Inheritance - Database First
我有2個表格,產品(基於我的商品)和OffShelfItems(按兒童)
我在ID字段上有一個外鍵設置,這是此設置的屏幕截圖:
在我的EDMX中,我已經導入了表格,並將OffShelfItem設置為產品類的成員,這是該設置的屏幕截圖:
但是,當我嘗試使用此測試代碼保存對象時:
OffShelfItem osi = new OffShelfItem();
osi.WhenAdded = DateTime.Now;
osi.LastModified = DateTime.Now;
osi.IsDeleted = false;
osi.Title = "TEST ITEM";
osi.RetailPrice = 9.99M;
osi.DealerPrice = 7.99M;
ent.Products.Add(osi);
ent.SaveChanges();
我收到此錯誤:
指定的架構無效。 錯誤:App_Code.Model.ssdl(75,6):錯誤0113:多重性在關系'FK_AA_OffShelfItems_AA_Products'中的角色'AA_OffShelfItems'中無效。 因為從屬角色是指關鍵屬性,所以從屬角色的多重性上限必須為1。
我覺得我真的很想讓它工作起來,我只需要幫助就可以到達那里!
id
必須是AA_OffShelfItems
表上的主鍵。
這里很好的解釋:
[更新:]
然后,您可以通過擴展上下文來訪問OffShelfItems
,如以下答案中所述:
具有TPT繼承功能的EF Database First僅為基本分類創建DbSet <T>
與類似:
context.Products.OfType<OffShelfItem>()
要么:
partial class Context
{
public DbSet<OffShelfItem> OffShelfItem{ get; set; }
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.