2010-12-07 3 views
3

쿼리에 약간 문제가 있습니다. mm : 내 데이터베이스 날짜 시간에서Subsonic 3.0 날짜가있는 ActiveRecord

은 YYYY-MM-DD HH로 저장됩니다 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 

date 매개 변수의 형식이 올바르지 않으며 SQL Server에서이 날짜를 US datetime으로 변환하므로 사실상 100을 가져올 때 결과가 나타나지 않습니다.

누구든지 Subsonic 형식으로 날짜를 올바르게 작성하는 방법을 알고 있습니까? 또는 쿼리를 구조화하는 더 좋은 방법입니다.

감사합니다, 롭

답변

1

나는 다음에 내 쿼리를 변경하여이 문제를 해결 한 :

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>(); 
정확히
1

this question 도움에 대한 대답 중 하나를합니까?

+0

안하지만, 감사합니다! :) –