Entity Framework 4.3.1を使用していて、テーブルに新しいレコードを挿入しようとしています。ProductVersion
エンティティはベースです。コンテナキーを使用してEntity Frameworkを挿入する
ProductVersion
エンティティはProductId
とProductOrdinal
と呼ばれるテーブルの複合主キーを構成する2つの特性を有しています。
誰かが製品のエントリを更新すると、ProductVersion
エンティティを作成して、自分のリポジトリに戻し、ProductOrdinal
プロパティを増やして、コンテキストにエンティティを追加して保存しようとしています。
私は、次のエラーを取得しておいてください。
The property 'ProductOrdinal' is part of the object's key information and cannot be modified.
がキーを構成する列の自動番号付けされていませんどちらも、私は次のように私のPOCOでプロパティを注釈を付けています
[Key, Column("PROD_Ordinal", Order=2), DatabaseGenerated(DatabaseGeneratedOption.None)]
public long ProductOrdinal { get; set; }
例外と説明から、既存の 'ProductVersion'インスタンスの 'ProductOrdinal'プロパティをインクリメントして保存しようとしているようです。 既存のインスタンスから 'ProductVersion'の新しいインスタンスを作成し、 'ProductOrdinal'プロパティをインクリメントして新しいインスタンスを保存します。 – alwayslearning
私はそれをチェックします。あなたが正しいかもしれないと思います。 – Maxmanzero
あなたは本当に正しいです。文脈はまだ開いていましたので、「現在の」オブジェクトを更新し、私が比較したのと同じオブジェクトを更新して、すでに挿入されているキーを更新しようとしていると不平を言っていました。 – Maxmanzero