我在我的项目中使用NHibernate,但我不喜欢使用类型属性从数据库中选择项目.是否有可能而不是
session.CreateCriteria(typeof(IEntry)).AddOrder(Order.Desc("Alias"))
Run Code Online (Sandbox Code Playgroud)
像这样的事
session.CreateCriteria(typeof(IEntry)).AddOrder(Order.Desc(x=>x.Alias))
Run Code Online (Sandbox Code Playgroud)
谢谢,亚历山大.
我尝试使用NHibernate.Link,但我无法使用,因为它没有强名称:(将等待下一个版本并继续使用我的解决方案
使用NH 2,您可以使用nh lambda扩展
list = session.CreateCriteria(typeof(Cat))
.Add<Cat>( c => c.Age >= 2 && c.Age <= 8 )
.AddOrder<Cat>( c => c.Name, Order.Desc )
.List<Cat>();
Run Code Online (Sandbox Code Playgroud)
在NH 3中,您将使用QueryOver
list = session.QueryOver<Cat>()
.WhereRestrictionOn(c => c.Age).IsBetween(2).And(8)
.OrderBy(c => c.Name).Desc
.List<Cat>();
Run Code Online (Sandbox Code Playgroud)
或者你可以使用NHibernate.Linq
list = (from c in session.Linq<Cat>()
where c.Age >= 2 && c.Age <= 8
orderby c.Name descending
select c).ToList<Cat>();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1398 次 |
| 最近记录: |