2016-02-15 13 views

答えて

4

は、基礎となるデータベースにこのコンテキストで行われたすべての変更を保存します。

いいえコンテキストを変更していない場合は、SaveChangesを呼び出しても意味がありません。

あなたはEntityState列挙によって定義されたエンティティは、5つの状態のいずれかになります

here詳細にこれについての詳細を読むことができます。これらの状態は次のとおり

  • 追加さ:エンティティはコンテキストによって追跡されているが、まだ
  • 不変データベースに存在しない:エンティティはコンテキストによって追跡し、データベースに存在している、そのプロパティ値はデータベースの値から変更されていません
  • 変更:エンティティがコンテキストによって追跡され、データベースに存在し、プロパティ値の一部またはすべてが変更されました
  • 削除済み:エンティティが追跡中ですコンテキストによって削除され、データベースに存在しますが、次回にSaveChangesがデータベースに登録されている戸建
  • と呼ば:エンティティは、コンテキストによって

のSaveChangesを追跡されていない異なる状態のエンティティのためのさまざまなことを行います。

  • 変更されていないエンティティは、SaveChangesメソッドに感動されていません。 Unchanged状態のエンティティについては、更新はデータベースに送信されません。
  • 追加されたエンティティがデータベースに挿入され、SaveChangesが返されたときにUnchangedになります。
  • 変更されたエンティティはデータベース内で更新され、SaveChangesが返されるとUnchangedになります。
  • 削除されたエンティティはデータベースから削除され、コンテキストから切り離されます。
0

あなたは、エンティティにAddまたはUpdateいずれかを実行しない限り、SaveChanges()を呼び出す必要はありません。

関連する問題