繁体   English   中英

Subsonic 3.0 ActiveRecord与日期

[英]Subsonic 3.0 ActiveRecord with dates

我在查询时遇到了一些麻烦。

在我的数据库中,日期时间存储为YYYY-MM-dd HH:mm:ss

我有以下LINQ查询:

var visitors = Visitor.All().Where(x=>x.Date_Moderated < dateTime).OrderByDescending(x => x.Date_Moderated).Take(limit);

问题是这被翻译成:

SELECT TOP (100) [t0].VisitorId, <COLUMNS TRUNCATED FOR BREVITY AND PRIVACY>
FROM [dbo].[Visitor] AS t0
WHERE ([t0].[Date_Moderated] < '07/12/2010 18:53:58')
ORDER BY [t0].[Date_Moderated] DESC

正如您所看到的,日期参数格式不正确,SQL Server将其转换为美国日期时间,因此当我实际上得到100时,我没有得到任何结果。

有谁知道如何正确地将Subsonic格式化为日期? 或者是构建查询的更好方法。

问候,Rob

这个问题的答案之一是否有帮助?

我通过将查询更改为以下内容来解决此问题:

var myDb = new MyDB(); //Database context renamed for privacy
var select = myDb.Select.Top("100")
                        .From("Visitor")
                        .Where("Date_Moderated")
                        .IsLessThan(dateTime.ToString("yyyy-MM-dd HH:mm:ss"))
                        .OrderDesc("Date_Moderated");

var visitors = select.ExecuteTypedList<Visitor>();

暂无
暂无

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

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