Entity Frameworkで挿入または更新が成功したかどうかを確認する

entity-framework savechanges

質問

ADO.NETでは、ExecuteNonQuery() "UPDATE、INSERT、およびDELETEステートメントの場合、戻り値はコマンドの影響を受ける行数です"( http://msdn.microsoft.com/ja-jp/library/system)。 data.sqlclient.sqlcommand.executenonquery.aspx

EF v1では、context.SaveChanges()メソッドは「SaveChangesが呼び出されたときに追加、変更、または削除された状態にあるオブジェクトの数」を返します。 ( http://msdn.microsoft.com/en-us/library/bb739065.aspx

複数のエンティティ(または単一のエンティティ)がcontextおよびcontext.SaveChanges()メソッドが呼び出されたときに、実際のINSERTまたはUPDATEが成功したかどうかを確認する方法を教えてください。

INSERTまたはUPDATEが成功したという例外がないと仮定できますか?

ありがとうございました

受け入れられた回答

はい、例外がない場合は、文は正常に実行されたと見なすことができます。


人気のある回答

多分これは質問に対する直接的な答えではないが、助けになるかもしれない。 SaveChangesメソッドが呼び出されると、デフォルトですべてのコマンドが1つのDbTransactionにカプセル化されます( Julia Lerman、Programming Entity Framework )。つまり、すべてのコマンドが正常に実行されるか、またはどちらも実行されません。これは、挿入、更新、または削除が成功したかどうかを知るための1つの方法です。



Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ