2

DB に新しいアイテムを追加するだけの場合、SaveChanges() は追加された数よりも少ない数を返すことはありますか?

たとえば、新しいアイテムを 5 つ追加すると、いくつかのエラー条件で値 3 を返すことができますか?

基本的に、例外をキャッチするだけで十分なエラー チェックであることを確認したいと考えています。そうでない場合、追加に失敗したアイテムを確認する最良の方法は何ですか?

以下に例を示します (POCO に使用する Person クラスを想定します)。

db = new Database();
db.People.Add(p1);
db.People.Add(p2);
db.People.Add(p3);
db.People.Add(p4);
db.People.Add(p5);
db.SaveChanges(); //Will this only return 0, 5, or throw an exception or can it return 3??? 
4

3 に答える 3

0

データベース トランザクションについて調べる必要があります。「定義上、データベース トランザクションは、アトミックで、一貫性があり、分離され、永続的でなければなりません。」つまり、トランザクション中にエラーが発生すると、すべての変更がロールバックされます。それがアトミックの略です...

于 2013-06-07T17:44:21.330 に答える