簡體   English   中英

實體框架模型第一列關鍵列

[英]Entity framework model first foregin key column

我有3個實體( Projects / Products / Negotiations )。

談判實體具有名為ReferencedIdTypeId的列,該ReferencedId是Projects和Products表的外鍵。
TypeId已定義ReferencedId屬於哪個實體。

但是當我調用context.SaveChanges(); 在“ Negotiation實體中插入新消息,已引發此錯誤:

Server Error in '/' Application.
The INSERT statement conflicted with the FOREIGN KEY constraint "FK_ProjectNegotiation". The conflict occurred in database "MyMVCApp", table "dbo.Projects", column 'Id'.
The statement has been terminated. 

編輯:這是我的模型:

我的模特

我該怎么做才能將1列用作協商實體的外鍵,並避免為此使用2列。

謝謝。

正如您所說-這是一個概念性問題。.您正在濫用前鍵。 不要這樣!

使談判抽象化,將產品談判和項目談判創建為談判的子類,並在那里定義導航屬性

您不能將單個列作為指向兩個表的(正式)外鍵約束。

您可以使用Table-per-Type或Table-per-hierarchy映射的某種變體來完成此操作( 此處是介紹性文章

暫無
暫無

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

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