gpt4 book ai didi

.net - NHibernate 中的投影是什么?

转载 作者:行者123 更新时间:2023-12-03 10:40:13 26 4
gpt4 key购买 nike

我有一个项目,我使用 NHibernate 来处理与数据库的绑定(bind)。到目前为止,在查询方面,我主要使用基础知识。现在我正在为一个更困难的查询而苦苦挣扎,我注意到 NHibernate 的新部分。我特别好奇SetProjection ,这在进行查询时似乎很重要。

什么是投影,我通常如何使用它?我假设投影是数据库的通用术语,因此也欢迎您提供更通用的答案。

最佳答案

安托万所说的投影就是转变。就查询而言,它是:

SELECT *PROJECTION* FROM Table
*PROJECTION*是数据转换的表达式。

例子:
SELECT * FROM ORDER

等效的标准是:
List orders = session.createCriteria(Order.class).list();

这里没有投影,我们无需转换即可获取数据。如果我们想要一个:
SELECT NAME FROM PRODUCT

在这里,Projection 类开始发挥作用。上面的查询可以重写为 Criteria 查询:
List products=session.createCriteria(Product.class)
.setProjection(Projection.property(\"name\"))
.list();

所以我们将所有行投影到单个项目: name field 。

还有其他预测: Projection.rowCount()例如(对于 COUNT(*) )

关于.net - NHibernate 中的投影是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4746995/

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