繁体   English   中英

使用LINQ进行SQL更新时的其他条件

[英]Additional conditions when using LINQ to SQL updates

我对LINQ还是个新手,但我的印象是,在更新表时,LINQ会创建一些这样的SQL代码:

UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;

而且我猜主键在WHERE子句中使用。 假设我的表/对象有一个timestamp列,并且我想检查自上次读取特定行以来时间戳是否已更改。 即,我的UPDATE语句将是:

UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value AND timestamp=my_timestamp;

显然,这样做的目的是在时间戳更改后中止更新(这意味着其他用户已更新此行并且我的数据已过时)。

LINQ是否支持这种功能?

我建议您考虑对LINQ to SQL使用内置的并发功能:

http://msdn.microsoft.com/zh-cn/library/bb399373%28v=vs.110%29.aspx

通读该内容,然后我打赌您将需要使用以下内容:

http://msdn.microsoft.com/zh-cn/library/system.data.linq.mapping.updatecheck%28v=vs.110%29.aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM