Итак, вот мой запрос nhibernate.
Я просто запрашиваю в базе данных, есть ли последняя запись по некоторому номеру, но с последней отметкой времени.
Так, если у меня есть
Row A 6 1/7/2010 2:55:59 PM
Row B 6 1/7/2010 2:56:33 PM
Итак, согласно запросу он должен вернуть строку B, но иногда этого не происходит.
Может кто-нибудь указать на проблему в моем спящем запросе.
DetachedCriteria subquery = DetachedCriteria.For(typeof(x));
subquery.SetProjection(Projections.Max("Time"));
X x = (X)_mapper.Run(delegate(ISession session, object[] arguments)
{
ICriteria criteria = session.CreateCriteria(typeof(X));
criteria.Add(Expression.Eq("ID", ID));
criteria.Add(Subqueries.PropertyEq("Time", subquery));
return criteria.UniqueResult();
}, true);
return x;