gpt4 book ai didi

nhibernate - 使用 NHIbernate 的强类型属性

转载 作者:行者123 更新时间:2023-12-03 11:33:03 25 4
gpt4 key购买 nike

我在我的项目中使用 NHibernate,但我不喜欢使用类型化属性从数据库中选择项目。
是否有可能代替

session.CreateCriteria(typeof(IEntry)).AddOrder(Order.Desc("Alias"))

像这样的东西
session.CreateCriteria(typeof(IEntry)).AddOrder(Order.Desc(x=>x.Alias))

谢谢,
亚历山大。

我尝试使用 NHibernate.Link,但我无法使用,因为它没有强名称 :( 将等待下一个版本并继续使用我的解决方案

最佳答案

对于 NH 2,您可以使用 nh lambda extensions

list = session.CreateCriteria(typeof(Cat))
.Add<Cat>( c => c.Age >= 2 && c.Age <= 8 )
.AddOrder<Cat>( c => c.Name, Order.Desc )
.List<Cat>();

在 NH 3 中,您将使用 QueryOver
list = session.QueryOver<Cat>()
.WhereRestrictionOn(c => c.Age).IsBetween(2).And(8)
.OrderBy(c => c.Name).Desc
.List<Cat>();

或者你可以使用 NHibernate.Linq
list = (from c in session.Linq<Cat>()
where c.Age >= 2 && c.Age <= 8
orderby c.Name descending
select c).ToList<Cat>();

关于nhibernate - 使用 NHIbernate 的强类型属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2534404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com