0
請在下面解釋我的僞代碼。DataContext.Submit和TransactionScope
我的想法是:3-Submit SubmitChanges將提交o.Status並且不會提交o.TransactionId,並且我的對象將在數據庫中損壞(我的意思是它將不再一致)。
XDataContext DB = .....;
XOrder o = DB.XOrders.Single(.......);
try
{
using (var t = new TransactionScope())
{
o.Status = XOrderStatus.Completed;
DB.SubmitChanges(); // 1
string s = null;
s.Trim(); // crash here;
o.TransactionId = ......; // some calculations here
DB.SubmitChanges(); // 2
t.Complete();
}
}
catch (Exception ex)
{
XEvent e = new XEvent();
e.Type = XEventType.Exception;
e.Data = .........; // some calculations here
DB.XEvents.InsertOnSubmit(e);
DB.SubmitChanges(); // 3
}
這是我的案例的任何'最佳實踐'嗎?