2011-09-09 122 views
0

我有一些包含lastupdatedate場的表,這個想法是,任何時候一行中的信息被改變,lastupdatedate將被重置爲當前的日期/時間使用客戶端的當前設置lastupdatedate datetime不是一個好主意。對於初學者,他們可能在不同的時區。雖然我可以通過存儲UCT來解決這個問題,但更嚴重的問題是不同用戶的時鐘不會全部同步。更有意義的是在SQL Update命令中使用GETDATE()作爲lastupdate參數。這樣可以保證所有lastupdatedate值都將與SQL服務器上的相同時鐘相關。用linqtosql更新記錄時間戳

在ADO.NET中這很容易,因爲您直接提交了要執行的SQL語句,但在LinqToSQL中,您通常會執行SubmitChanges。

在創建存儲過程之外,是否有任何簡單的方法可以用linqtosql做到這一點?

回答

0

我還存儲最後修改日期,並將從Web服務器獲取數據。迄今爲止它工作得很好。如果您的代碼只在一個Web服務器上運行,那麼LinqToSQL將在該服務器上執行,因此您將擁有一致的時間源。這會工作嗎?

1

另一個可以考慮的選擇是在數據庫服務器上創建一個標量函數,該函數公開該服務器的當前時間。將該標量函數映射到LINQ to SQL函數,並調用該方法,以便在SubmitChanges之前讓服務器有時間在對象上設置最後更新日期。