簡體   English   中英

linq-to-sql分組與時區

[英]linq-to-sql grouping with timezone

我有一個linq-to-sql查詢,它按DateTime對結果進行分組,如下所示:

var TheQuery = from ....
               where ....
               group a by a.TheDateTime.Date in TheGroups

問題是這個組按實際日期在數據庫中以UTC格式存儲。 假設我想根據用戶的時區按日期分組。 因此,例如,如果他在PST時區,按“UTC減去8小時”或其他任何偏移分組。

謝謝你的建議。

如果你還是得到了所有的信息,我會坦率地把它帶回客戶端並在LINQ to Objects中進行分組。 這樣你就可以專注於使用一個平台的日期和時間API - 當涉及時區時,使用一個API是很困難的,更不用說兩個了。

(作為一個插件,它也意味着您可以使用任何您喜歡的.NET API - 例如Noda Time ;)

因此,我將在分組之前進行所有可以進行的過濾和投影,然后使用AsEnumerable()強制執行本地的其余操作。

不要忘記你幾乎肯定不能只增加或減少8小時,除非用戶真正處於不使用夏令時的時區(並且在歷史上沒有)。 您是否也確定將相同的時區應用於所有數據是否合適? (很可能 - 只是檢查。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM