2010-12-07 6 views
3

クエリに少し問題があります。私のデータベースの日付時刻でサブソニック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 

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

ないが、感謝! :) –

関連する問題