0
我已經繼承了數據庫,我需要使用EF6插入數據。我得到的錯誤:EF6:多個添加的實體可能具有相同的主鍵
DbUpdateException: Unable to determine the principal end of the 'POSModel.FK_KitMemberTaxRaw_KitMemberSaleReturnRaw_KitMemberSaleReturnRowId' relationship. Multiple added entities may have the same primary key.
我反序列化XML使用的DataContractSerializer的POCO對象。 我使用xml文檔結構中的對象引用來定義關係。 (!不與所有或者解串器很好地工作):
[ForeignKey("KitMemberSaleReturnRaw")]
public virtual KitMemberSaleReturnRaw KitMemberSaleReturnRaw { get; set; }
[ForeignKey("KitMemberKitMemberSaleReturnRaw")]
public virtual KitMemberKitMemberSaleReturnRaw KitMemberKitMemberSaleReturnRaw { get; set; }
的KitMemberTaxRaw表可在POCO對象使用從NuGet包提供了一個T4腳本
我飾KitMemberTaxRaw像這樣產生的可以加入表KitMemberKitMemberSaleReturnRaw或KitMemberSaleReturnRaw(但不是兩者)。
EF如何確定'關係的主要目的'?
這些屬性是錯誤的。您將他們指向要使用的FK ID。你不能使用同一個鍵來處理兩個關係,所以你可能需要查看[TPH](https://weblogs.asp.net/manavi/inheritance-mapping-strategies-with-entity-framework -code-first-ctp5-part-1-table-per-hierarchy-tph) –
將外鍵修飾移到id屬性而不是集合中。同樣的錯誤。兩個關係沒有使用相同的密鑰。稅表連接到兩個表中的一個或另一個。組合的許多部分都是獨立徵稅的(或不是)。那張桌子是用在幾個級別的摺痕 – Jay
好的,也許你正在碰到[this](https://stackoverflow.com/questions/26783934/multiple-added-entities-may-have-the-same-primary- key-on-database-seed)或[this](https://stackoverflow.com/questions/11893673/c-sharp-unable-to-determine-the-principal-end-of-the-relationship)。否則,需要查看導致問題的模型和命令。 –