2011-01-12 16 views
0

これはASP.NET MVC 2、.NET 4(EF 4)で発生します。私のAddressエンティティには、Postリファレンスへの参照があります。 ZipはPostエンティティの主キーです。 Postエンティティの別のプロパティはCityNameです。私の見解では、ユーザーが自動的に(jquery経由で)対応するZipをロードして隠しフィールド内に格納する住所のCityNameを変更できるようにしました。UpdateModel()はナビゲーションプロパティ(エンティティ参照)に新しい値を割り当てることができません

投稿すると、両方の値が正常にポストされ、Addressの投稿参照にバインドされます。しかし、UpdateModel()はそれらを更新することができません。 Zipはエンティティのエンティティキーの一部であり、変更することはできません。

新しいZipでPostエンティティを読み込み、手動で既存のAddressに割り当てることはできますが、UpdateModel()に依存したい他のすべてのプロパティについては、それを割り当てます。

どうすれば実現できますか?このようなEF4のものは解決されたと思うでしょう。

答えて

0

デフォルトでは、エンティティフレームワーク生成クラスは主キー値の変更に制限を設けています。これはいい。何らかの理由でPKを変更すべきではありません。追加シナリオ外でのPKの変更は、状態追跡とシステムの一般的な健康状態に大きな影響を与えます。

この問題を解決するには、Excludeパラメータを使用して主キーを更新しないようにUpdateModelに指示します。

関連する問題