0

プライベート プロジェクトの SQL Server CE で EF5 を使用しており、関連するレコードを更新しようとしています。

私のテーブルの2つは次のとおりです。

ドキュメント 1-n DocumentFile

ドキュメント: - ID (1)

DocumentFile - DocumentId (n) - 名前

今私の質問: 1 つのドキュメント エントリの完全な依存リスト (DocumentFile) を更新したいです。fe - ドキュメント (id 20) には、DocumentFile-Table に 5 つの依存エントリがあります。- ユーザーが 3 つのファイルを削除し、さらに 1 つ追加します。

結果は次のようになります。DocumentFile テーブル内の 3 つの依存エントリ (5-3+1)。

コレクションを削除して新しいエントリを追加しようとしましたが、EF は古いエントリを自動的に削除しません。新しいリストをテーブルに追加するだけです。

依存するすべてのドキュメントファイルエントリを削除して、新しいコレクションを追加する必要がありますか?

ありがとう

4

1 に答える 1

0

ユーザーが 3 つのファイルを削除した場合、おそらく、各エンティティにアクセスしてDeleteObjectを呼び出すコードがあり、3 つのエンティティが削除済み状態になります。ユーザーがもう 1 つのファイルを追加すると、AddObjectを使用して追加のエンティティが作成され、コンテキストに追加状態の別のエントリが含まれます。Unchanged 状態の 2 つのエンティティもあります。コンテキストでSaveChangesを呼び出すと、適切な SQL が生成され、EF が更新を管理します。これらの手順に従っている場合、すべての依存エンティティを削除する必要はありません。

于 2013-09-09T08:20:54.100 に答える