sti*_*k81 25 .net nhibernate projection
我有一个项目,我正在使用NHibernate来处理数据库的绑定.到目前为止,我主要在查询时使用基础知识.现在我正在努力解决一个更困难的问题,我注意到NHibernate的新部分.特别是我很好奇SetProjection,这在进行查询时似乎很重要.
什么是投影,我通常如何使用它?我假设投影是数据库的一般术语,所以欢迎您提供更一般的答案.
And*_*rey 29
Antoine所说的预测是转型.在查询方面它是:
SELECT *PROJECTION* FROM Table
Run Code Online (Sandbox Code Playgroud)
*PROJECTION* 是数据转换的表达.
例:
SELECT * FROM ORDER
Run Code Online (Sandbox Code Playgroud)
标准等价物将是:
List orders = session.createCriteria(Order.class).list();
Run Code Online (Sandbox Code Playgroud)
这里没有预测,我们没有转换就采取数据.如果我们想要一个:
SELECT NAME FROM PRODUCT
Run Code Online (Sandbox Code Playgroud)
这里,Projection类开始发挥作用.上述查询可以重写为Criteria查询,如下所示:
List products=session.createCriteria(Product.class)
.setProjection(Projection.property(\"name\"))
.list();
Run Code Online (Sandbox Code Playgroud)
因此我们将所有行投影到单个项目:name字段.
还有其他预测:Projection.rowCount()例如(for COUNT(*))