Nhibernate 查询结束

标签 nhibernate queryover

我试图用这样的代码从我的表中只选择一些字段

IList<Product> res = sess.QueryOver<Product>()            
             .Select(x =>x.name)           
             .List<Product>();

这段代码没有错误,但在运行时我得到了这个:“无法执行查找[SQL:SQL 不可用]”值“Prod1 不是 SympleFlhLINQ.Product 类型,并且不能用于这个泛型集合”。

如果有人告诉我如何只获取产品名称和引用的类别名称宽度,那将会非常好
 IList<Product> res = sess.QueryOver<Product>() 
                .Select(x =>x.name)
                .Select(x=>x.Cat.CategoryName)
                .List<Product>();

最佳答案

IList<string> names = sess.QueryOver<Product>()            
         .Select(x =>x.Name)
         .List<string>();

或者
ProductDto product = null;
Category category = null;
IList<ProductDto> res = sess.QueryOver<Product>()
    .JoinAlias(x => x.Category, () => category)
    .SelectList(list => list
        .Select(x => x.Name).WithAlias(() => product.Name)
        .Select(() => category.Name).WithAlias(() => product.CategoryName))
    .TransformUsing(Transformers.AliasToBean<ProductDto>())
    .List<ProductDto>();

关于Nhibernate 查询结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11724054/

相关文章:

c# - 简单的 NHibernate 查询

nhibernate - Entity Framework 中的 NHibernate session.Load 等价物是什么?

c# - nhibernate 投影到匿名类型

c# - 使用 QueryOver 的 NHibernate OR

mysql - NHibernate + 查询结束 : How to join unmapped entity by ID?

.net - 存储库基础或特定方法?

NHibernate:排他锁

nhibernate - 如何使用 NHibernate QueryOver 重新创建这个复杂的 SQL 查询?

c# - 使用子查询获取订单和订单行计数

c# - NHibernate 根据分钟从日期字段中选择查询