0

強く型付けされたビューに渡される MVC コントローラーでエンティティを操作しています。

フォームがビューに投稿されたときに、更新されたデータを使用してコントローラーでこれらのエンティティを再インスタンス化するにはどうすればよいですか? フォームにはエンティティのすべてのフィールドが含まれているわけではないため、エンティティを再インスタンス化するために必要なすべてのデータがモデル バインディングに存在しません。一部のデータセットのみが送信されます。

投稿された値でエンティティを更新する前に、キー値に基づいてエンティティをリロードすることはありません。これは 1) 非効率的です 2) 元の RowVersion 同時実行フィールドの値を保持しないと、Entity Framework で POCO オブジェクトとの楽観的同時実行が防止されます

しかし、私の質問は、これが推奨される方法ですか?

この質問は、ビューで再送信されず、エンティティをリロードしたくないデータを含むエンティティに適用できます。

ありがとう

4

1 に答える 1

2

エンティティを再度取得するようにデータベースに要求するだけです。同時実行性が心配な場合は、バージョン番号などを確認してください。あなたの主な関心事が非効率である場合は、今のところ DB を再クエリしてください。本当に非効率である場合は、何らかのタイプのキャッシュを使用できます...他にどのようなオプションがありますか?

于 2009-11-24T00:55:21.497 に答える