エンティティフレームワーク5:高効率の更新レコード、属性を正確に変更
ASP.NET MVC3環境では、エンティティフレームワーク5にレコードを更新する複数の方法を提供します。各メソッドには独自の利点と短所がありますが、属性の変更を指定し、ビューから機密フィールドを排除し、データベースクエリを最小化するという目標を完全に満たすことはできません。
について説明して評価する方法
メソッド1:元のレコードをロードして、属性を1つずつ更新します
利点:選択的な更新属性を許可し、視界から機密フィールドを省略します。
短所:2つのデータベースクエリが必要です(読み込まれ、更新されます)。
-
メソッド2:元のレコードをロードして、変更の値を設定-
利点:変更された属性を更新して、データベースのオーバーヘッドを削減しました。
短所:ビューにはすべての属性が含まれている必要がありますが、それでも2回照会する必要があります。
- メソッド3:追加の更新レコードとentityStateを変更して修正
- に設定します
利点:データベースクエリの数は、単一の更新操作を通じて最小限に抑えられます。
短所:属性の更新を指定できず、すべての属性をビューに含める必要があります。
ソリューション:単一のデータベースクエリは、正確な属性の更新を実現します属性の選択性、データベースクエリ効率、およびセキュリティの表示を考慮するために、メソッド1と方法3と組み合わせたソリューションが最も適しています。 Attach()およびsetState()メソッドを単一のクエリアップデートレコードを使用して、変更した属性を1つずつ指定できます。
この方法は、指定された要件を満たす簡単な方法を提供します。特定のフィールドのISModified属性を手動で設定することにより、更新された属性のみがデータベースに送信され、それにより、不必要なクエリオーバーヘッドを減らし、機密データを保護し、データベースが効果的に更新されるようにします。 以上が単一のデータベース クエリで Entity Framework 5 の特定のプロパティを効率的に更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。