我的工作是使用适用于.NET的NHibernate 2.0.1.4000。我们正在尝试升级到更高版本(3+),但由于DetachedCriteria的更改而无法升级。在2.0中,您可以使用DetachedCriteria.AddOrder( Order ),然后使用DetachedCriteria.Orders来获取Order对象的列表。在以后的版本中,DetachedCriteria.Orders消失了。有没有其他方法可以获得订单列表?我们有检查count是否为0的代码。例如:
if (criteria.Orders.Count == 0)
{
criteria.AddOrder(Order.Asc("User.FirstName"));
criteria.AddOrder(Order.Asc("User.LastName"));
criteria.AddOrder(Order.Asc("User.Login"));
}谢谢
发布于 2017-08-18 00:38:53
不,你不能,除非你愿意使用反射。正如您在这里看到的:https://github.com/nhibernate/nhibernate-core/blob/ad4c2ef101cbf8ba798220973f4f78dd795e0896/src/NHibernate/Criterion/DetachedCriteria.cs,内部的CriteriaImpl字段是私有的。您将需要自己跟踪该集合。
https://stackoverflow.com/questions/45740514
复制相似问题