少数のフィールドのみを更新したい場合に、エンティティを更新する最良の方法を知りたいです。
C# 4.0 と EF 4.4 を使用しています。
最初の方法は次のとおりです。
1.- データベースからレジスターをロードします。2.- プロパティを変更します。エンティティがどのようにコンテキストにあるか、変更されたプロパティを更新しようとするだけです。3.- 変更を保存します。
2 番目のオプションは次のとおりです。
1.- エンティティをコンテキストにアタッチします 2.- 変更するプロパティを次のようにマークします。
myContext.Entries(myEntity).Property("myField").IsModified = true;
3.- 変更を保存します。
最初の方法では、クエリを実行してエンティティとその他を取得し、変更を保存します。2 番目の方法では、変更を保存するときにのみクエリを使用します。
ただし、私の場合、変更したくないnullプロパティがないため、スタブエンティティを作成してコンテキストにアタッチし、必要なプロパティを変更済みとしてマークして変更を保存すると、検証が行われます例外。
したがって、エンティティにnullプロパティがない場合、最初の方法を使用できるか、2番目の方法を使用する必要があるかを知りたいです。
データベースからレジスタをロードする必要がないため、パフォーマンスに違いがあると思います。それは本当ですか?
ありがとう。