多くの新しいオブジェクト (行) とそれらの間の関係を挿入するアプリに取り組んでいます。しかし、エラーが発生した特定の時点で、DataContext へのすべての変更を破棄して「破棄」したいと考えています。エラーが発生した後、データベースの状態と一致する DataContext のクリーンなコピーを取得できます。
2429 次
2 に答える
1
編集
.Commit()
または、DataContext.Transaction を使用して、それ.Rollback()
を変更に使用することもできます。
オリグ
その DataContext を破棄して再インスタンス化するだけです。
何かのようなもの...
public void MyMethod(string connStr)
{
try
{
DataClasses1DataContext dc = new DataClasses1DataContext(connStr);
for (int i = 0; i < 100; i++)
{
try
{
//Do Stuff
//Insert Objects
dc.SubmitChanges();
}
catch (Exception ex) //So if it bombs in the loop, log your exception
{
Log(ex);
}
finally //Reinstantiate your DC
{
dc = new DataClasses1DataContext(connStr);
}
}
}
catch (Exception bigEx)
{
Log(bigEx);
}
}
于 2009-05-15T08:15:57.107 に答える
1
using ステートメントで TransactionScope を使用することもできます。TransactionScope で .Complete() を呼び出さない場合、破棄されるときにすべての変更がロールバックされます (using ステートメントを離れるときに発生します)。
于 2009-05-15T10:23:15.273 に答える