一步一步学_Linq_to_sql_7_并发与事务.docxVIP

  • 3
  • 0
  • 约5.06千字
  • 约 8页
  • 2016-12-30 发布于重庆
  • 举报
一步一步学Linq to sql(七):并发与事务检测并发首先使用下面的SQL语句查询数据库的产品表:select*from products where categoryid=1查询结果如下图:?为了看起来清晰,我已经事先把所有分类为1产品的价格和库存修改为相同值了。然后执行下面的程序:var query = from p in ctx.Products where p.CategoryID == 1 select p;foreach (var p in query) p.UnitsInStock = Convert.ToInt16(p.UnitsInStock - 1); ctx.SubmitChanges(); // 在这里设断点我们使用调试方式启动,由于设置了断点,程序并没有进行更新操作。此时,我们在数据库中运行下面的语句:update products set unitsinstock = unitsinstock -2, unitprice= unitprice + 1where categoryid = 1然后在继续程序,会得到修改并发(乐观并发冲突)的异常,提示要修改的行不存在或者已经被改动。当客户端提交的修改对象自读取之后已经在数据库中发生改动,就产生了修改并发。解决并发的包括两步,一是查明哪些对象发生并发,二是解决并发。如果你

文档评论(0)

1亿VIP精品文档

相关文档