使用linqtosql更新记录时间戳

时间:2011-09-09 00:37:21

标签: linq-to-sql

我有一些包含lastupdatedate fiel的表,这个想法是,当连续的信息被改变时,lastupdatedate将被重置为当前日期/时间设置lastupdatedate使用客户端的当前日期时间不是很好理念。对于初学者来说,他们可能处于不同的时区。虽然我可以通过存储UCT来解决这个问题,但更严重的问题是不同用户的时钟不会全部同步。更有意义的是在SQL Update命令中使用GETDATE()作为lastupdate参数。这样可以保证所有lastupdatedate值都相对于同一个时钟,即SQL服务器上的时钟。

在ADO.NET中这很简单,因为你直接提交了一个要执行的SQL语句,但是在LinqToSQL中你通常会提交SubmitChanges。

在创建存储过程之外,有没有简单的方法可以使用linqtosql进行此操作?

2 个答案:

答案 0 :(得分:1)

您可以考虑的另一个选项是在数据库服务器上创建一个Scalar函数,该函数公开该服务器的当前时间。您将该标量函数映射到LINQ to SQL函数,并调用该方法以使服务器有时间在SubmitChanges之前设置对象的lastupdatedate。

答案 1 :(得分:0)

我还存储了上次修改日期,并将从Web服务器获取数据。到目前为止,它运作良好。如果您的代码仅在一个Web服务器上运行,那么LinqToSQL将在该服务器上执行,因此您将拥有一致的时间源。那会有用吗?