具有NHIbernate的强型性质
我在项目中使用NHibernate,但我不喜欢使用类型化属性从数据库中选择项。 有没有可能把它改为具有NHIbernate的强型性质,nhibernate,Nhibernate,我在项目中使用NHibernate,但我不喜欢使用类型化属性从数据库中选择项。 有没有可能把它改为 session.CreateCriteria(typeof(IEntry)).AddOrder(Order.Desc("Alias")) 像这样的事 session.CreateCriteria(typeof(IEntry)).AddOrder(Order.Desc(x=>x.Alias)) 谢谢, 亚历山大 我尝试使用NHibernate.Link,但无法使用,因为它没有强名称:(将
session.CreateCriteria(typeof(IEntry)).AddOrder(Order.Desc("Alias"))
像这样的事
session.CreateCriteria(typeof(IEntry)).AddOrder(Order.Desc(x=>x.Alias))
谢谢,
亚历山大
我尝试使用NHibernate.Link,但无法使用,因为它没有强名称:(将等待下一个版本,现在继续使用我的解决方案)这里是:在NHibernate主干(3.0版本)中有两种方法:
- 查询结束,新的标准api
- 林克
- 对于NH 2,您可以使用
list=session.CreateCriteria(typeof(Cat))
.Add(c=>c.Age>=2和&c.Age c.Name,Order.Desc)
.List();
在NH3中,您将使用
list=session.QueryOver()
其中限制(c=>c.Age)。介于(2)和(8)之间
.OrderBy(c=>c.Name).Desc
.List();
或者你可以用NHibernate.Linq
list = (from c in session.Linq<Cat>()
where c.Age >= 2 && c.Age <= 8
orderby c.Name descending
select c).ToList<Cat>();
list=(来自session.Linq()中的c)
其中c.Age>=2&&c.Age replicate:感谢您向我介绍nh lambda extensions项目!
list = session.QueryOver<Cat>()
.WhereRestrictionOn(c => c.Age).IsBetween(2).And(8)
.OrderBy(c => c.Name).Desc
.List<Cat>();
list = (from c in session.Linq<Cat>()
where c.Age >= 2 && c.Age <= 8
orderby c.Name descending
select c).ToList<Cat>();