Я использую NHibernate
-driven хранилище, Fluent
сопоставления и попытки использовать Linq to NHibernate
.C# NHibernate Simple Question
Но для некоторого простого запроса, как этот
Retrieve<XValue>(x => (x.Timestamp.CompareTo(start) >= 0 &&
x.Timestamp.CompareTo(end) <= 0));
// 'Retrieve' here acts simply as 'session.Query<T>().Where(expression);'
я получаю следующий результат:
System.NotSupportedException: Int32 CompareTo(System.DateTime)
Я не знаю, почему, но CompareTo
операции не по прогнозам, база данных и выход также являются довольно странными:
create table "QuotUnitDescriptor" (
Id integer,
PaperId INTEGER,
Timestamp DATETIME,
InPaperIdx INTEGER,
primary key (Id)
)
NHibernate: INSERT INTO "QuotUnitDescriptor" ......................
// Many INSERT's
NHibernate: select cast(count(*) as INTEGER) as col_0_0_
from "QuotUnitDescriptor" binaryunit0_
Не могу понять, почему эта операция вызывает операцию select -> integer
.
Как реализовать следующий ориентированный на дату запрос?(с использованием Linq
лучше, но критерии также прекрасны, я думаю).
Вы сравниваете свою метку времени с 0. Может быть, поэтому? – Vadim
@Yads Я сравниваю это с отметками 'start' и' end' в моем коде. –