我喜欢使用LINQ to SQL。唯一的问题是我不喜欢更新表的默认方式。如何在LINQ to SQL中进行UPDATE查询?
比方说,我有以下几列如下表:
ID (primary key), value1, value2, value3, value4, value5
当我需要更新我称之为
UPDATE ... WHERE [email protected]
的LINQ to SQL调用
UPDATE ... WHERE [email protected] and [email protected] and [email protected] and [email protected] and [email protected] and [email protected]
我可以通过添加
来覆盖此行为UpdateCheck=UpdateCheck.Never
添加到每列,但每次使用GUI更新DataContext类时,都将被删除。有什么办法可以告诉LINQ使用这种更新数据的方式吗?
是的,但它在您使用(例如)timestamp列 – RobS 2010-03-27 17:35:14
@Rob桑德斯的情况下失败:'rowversion'柱(又名'timestamp')是特别。这个名字是有原因的。除非您打算将它们用于复制或同步(在这种情况下,它们不应包含在DBML中)或用于并发控制(在这种情况下,您总是需要更新检查),否则它们不应该成为模式的一部分。 – Aaronaught 2010-03-27 17:42:37
是的,我知道什么是rowversion列。事实是,L2S允许你将它们添加到DBML中,所以值得了解对LS2并发模型的影响 – RobS 2010-03-27 17:45:17