开发工具与关键技术:Visual Studio、C#
添加事务的引用,如下图:
右键“引用”选择“添加引用”,勾选System.Transactions,然后再引用就好了
事务的作用:
比如转账操作,从A账户中取出钱,转到B账户,这两者肯定是要么同时成功,要么同时失败,以保证交易的安全。否则,在执行过程中,因网络原因、系统异常等原因,只减了A账户的钱,而B账户还没有钱到账。
事务的使用,代码如下:
public ActionResult InsertProjectBinding(string S_ItemBangName, string Ids)
{
using (var scope = new TransactionScope())//创建事务
{
try
{
S_ItemBang s_ItemBang = new S_ItemBang();
s_ItemBang.S_ItemBangName = S_ItemBangName;
myModels.S_ItemBang.Add(s_ItemBang);
myModels.SaveChanges();
if (Ids != "")
{
int ItemBangID = s_ItemBang.S_ItemBangID;
string[] strings = Ids.Split(',');
strings = strings.Distinct().ToArray();
foreach (var id in strings)
{
var treatProjectID = Convert.ToInt16(id);
R_ItemBang ItemBang = new R_ItemBang();
ItemBang.S_ItemBangID = Convert.ToInt16(ItemBangID);
ItemBang.TreatProjectID = Convert.ToInt16(id);
myModels.R_ItemBang.Add(ItemBang);
myModels.SaveChanges();
}
}
scope.Complete();//重点,事务的提交
}
catch (Exception e)
{
return Json("保存失败!", JsonRequestBehavior.AllowGet);
}
}
return Json("success", JsonRequestBehavior.AllowGet);
}