4
我想更新交易中的两个视图。如果其中一个失败,另一个也会失败。 Formviews拥有自己的实体数据源。EF更新交易中的视图
button1_click(..........)
{
formview1.updateItem(true);
formview2.updateItem(true);
}
我想更新交易中的两个视图。如果其中一个失败,另一个也会失败。 Formviews拥有自己的实体数据源。EF更新交易中的视图
button1_click(..........)
{
formview1.updateItem(true);
formview2.updateItem(true);
}
好吧,这可能不是世界上最简单的东西。
基本的答案是,你可以做到。如果updateItem方法打开数据库连接,代码将与此类似。
using (TransactionScope scope = new TransactionScope())
{
formview1.updateItem(true);
formview2.updateItem(true);
scope.Complete();
}
如果在另一方面的连接已经由的updateItem被称为然后同时打开你需要做更多的东西一样
using (TransactionScope scope = new TransactionScope())
{
formview1.Connection.EnlistTransaction(Transcation.Current);
formview2.Connection.EnlistTransaction(Transcation.Current);
formview1.updateItem(true);
formview2.updateItem(true);
scope.Complete();
}