2
DateTimeに対してwhere句を使用して行を取得しようとしています。Fluent NHibernate problem to DateTimeプロパティの問い合わせ
注:Query
は、IQueryable
からISession.Query
までです。
var results = Query
.Where(row => row.TimeStampUtc == timeStampUtc);
これは結果を返しません。
var results = Query.ToList()
.Where(row => row.TimeStampUtc == timeStampUtc);
これは結果を返します。(NHibernateクエリプロバイダを避けてToList()を使用することによって)。
私の欠点は何ですか?
更新:
SQLプロファイラは
where row.TimeStampUtc = '2011-01-28T09:28:55.00' /* @p0 */
のためにそのクエリと言われますが、実際の列の値が'2011-01-28 09:28:55.987'
ので、ノー一致しています。
マッピング中(おそらく読み込み中)のどこかで、サブ秒のデータが失われています。
dbはどのように定義されていますか? – Variant
SQL2008。列は自動マッピングされます。私は今働いていたCustomType(DateTime2)を調査していますが、列がCompositeId定義の一部でもあるために動作しないようです...同時にCustomTypeを確認しながらCompositeIdを行う方法を見つける必要があります – Schneider