gpt4 book ai didi

.net - 如何使用 NHibernate 中的 Criteria API 进行自定义投影?

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

使用 HQL,我可以像这样使用动态实例化:

select new ItemRow(item.Id, item.Description, bid.Amount)
from Item item join item.Bids bid
where bid.Amount > 100

现在我需要使用 Criteria API 动态创建我的查询。如何获得与使用 HQL 但使用 Criteria API 获得的结果相同的结果?

谢谢你。

最佳答案

您可以使用 AliasToBean 结果转换器。 ( Doc 1.2 ) 它将每个投影分配给同名的属性。

session.CreateCriteria(typeof(Item), "item")
.CreateCriteria("Bids", "bid")
.SetProjection(Projections.ProjectionList()
.Add(Projections.Property("item.Id"), "Id" )
.Add(Projections.Property("item.Description"), "Description" )
.Add(Projections.Property("bid.Amount"), "Amount" ))
.Add(Expression.Gt("bid.Amount", 100))
.SetResultTransformer(Transformers.AliasToBean(typeof(ItemRow)))
.List();

关于.net - 如何使用 NHibernate 中的 Criteria API 进行自定义投影?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/718887/

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