0

少数のフィールドのみを更新したい場合に、エンティティを更新する最良の方法を知りたいです。

C# 4.0 と EF 4.4 を使用しています。

最初の方法は次のとおりです。

1.- データベースからレジスターをロードします。2.- プロパティを変更します。エンティティがどのようにコンテキストにあるか、変更されたプロパティを更新しようとするだけです。3.- 変更を保存します。

2 番目のオプションは次のとおりです。

1.- エンティティをコンテキストにアタッチします 2.- 変更するプロパティを次のようにマークします。

myContext.Entries(myEntity).Property("myField").IsModified = true;

3.- 変更を保存します。

最初の方法では、クエリを実行してエンティティとその他を取得し、変更を保存します。2 番目の方法では、変更を保存するときにのみクエリを使用します。

ただし、私の場合、変更したくないnullプロパティがないため、スタブエンティティを作成してコンテキストにアタッチし、必要なプロパティを変更済みとしてマークして変更を保存すると、検証が行われます例外。

したがって、エンティティにnullプロパティがない場合、最初の方法を使用できるか、2番目の方法を使用する必要があるかを知りたいです。

データベースからレジスタをロードする必要がないため、パフォーマンスに違いがあると思います。それは本当ですか?

ありがとう。

4

0 に答える 0