【发布时间】:2020-03-28 14:30:12
【问题描述】:
假设我的数据库中有一个 Orders 表和一个由 VS2008“Linq to SQL Classes”设计器生成的相应模型类。假设我的数据库中还有一个存储过程 (ProcessOrder),用于对订单记录进行一些处理。
如果我执行以下操作:
var order = dataContext.Orders.Where(o => o.id == orderId).First();
// More code here
dataContext.ProcessOrder(orderId);
order.Status = "PROCESSED";
dataContext.SubmitChanges();
...那么如果ProcessOrder存储的proc修改了订单(当然很有可能)我会遇到并发冲突,因为L2S会检测到订单记录发生了变化,并且提交失败该订单的更改。
这一切都很合乎逻辑,但是如果我想要在调用存储过程后更新订单记录怎么办?我如何告诉 L2S 忘记它的缓存副本并从数据库中刷新它?
【问题讨论】:
标签: linq-to-sql