私はデータベースを継承しており、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.
私はDataContractSerializerを使用してPOCOオブジェクトにXMLをデシリアライズ。 XML文書の構造体からオブジェクト参照を使用して関係を定義しています。 POCOオブジェクトは、(!まったくデシリアライザウェルのいずれかで動作しません)NuGetパッケージから提供されたT4スクリプトを使用して生成され
私はそうのようなKitMemberTaxRawを飾られました:KitMemberTaxRawテーブル
[ForeignKey("KitMemberSaleReturnRaw")]
public virtual KitMemberSaleReturnRaw KitMemberSaleReturnRaw { get; set; }
[ForeignKey("KitMemberKitMemberSaleReturnRaw")]
public virtual KitMemberKitMemberSaleReturnRaw KitMemberKitMemberSaleReturnRaw { get; set; }
かもしれませんKitMemberKitMemberSaleReturnRawまたはKitMemberSaleReturnRawのいずれかのテーブルに結合することができます(両方ではありません)。
EFは「関係の主要な終わり」をどのように決定しますか?
これらの属性は間違っています。あなたはそれらを使用するFK idにポイントします。 2つの関係に同じキーを使用することはできませんので、[TPH](https://weblogs.asp.net/manavi/inheritance-mapping-strategies-withentity-framework)を調べる必要があります。 -code-first-ctp5-part-1-table-per-hierarchy-tph) –
は、外部キーの装飾をコレクションではなくidプロパティに移動しました。同じエラー。 2つの関係に同じキーを使用していません。税テーブルは、2つのテーブルの一方または他方に連結されています。コンボの多くの部分は、個別に課税対象となります(または課税対象外)。そのテーブルは階層レベルのいくつかのレベルで使用されます – Jay
OK、おそらくあなたは[this](https://stackoverflow.com/questions/26783934/multiple-addedent-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)を参照してください。それ以外の場合は、問題の原因となっているモデルとコマンドを確認する必要があります。 –