4

私は切断された方法でEF5を使用しています。Cases関連が定義されたさまざまなもののルックアップテーブルで呼び出されるメインテーブルがあります。たとえば、列SOURCE_IDはテーブルに関連付けられておりSources、そのテーブルにはルックアップが含まれています。

エンティティCasesには、Source_ID 列とSource、関連付けられたテーブルに移動するために呼び出される関連付けおよびナビゲーション プロパティがあります。

私は切断された方法で使用しているため、エンティティを保存する場合は、状態を手動で からAddedに設定しModifiedます。これはうまく機能します (Julie Lermon の本のいくつかの例に従います)。

ただし、SOURCE_ID列を別の値に変更し、関連付けられたテーブルにエンティティが読み込まれた場合、状態を に変更すると、おそらく関連付けが原因で元の値MODIFIEDSOURCE_ID戻ります。

SOURCESそのテーブルから他のものを表示したいので、関連するテーブルをロードしていますが、単に変更しSOURCE_IDて保存したいだけです。それが気に入らないらしい。

何かご意見は?

4

1 に答える 1

0

より多くのコードが必要ですが、私はショットを取ります。

SOURCE_IDを更新するだけでなく、Sourcesルックアップへの参照を更新してみてください。

だから代わりに...

Case.Source.ID = 1;

多分....

Case.Source = db.Sources.Where(x => x.SOURCE_ID == 1).FirstOrDefault();

(編集:ああ、これは1か月前に尋ねられましたか?おっと、それでも。)

于 2013-02-08T23:35:37.733 に答える