我正在研究 NET MVC 3.0 和 Nhibernate 3.0。我只想从数据库中获取一个属性到一个对象。
例如,假设我有一个类 Module。我想从模块表中选择所有名称(如select modulename from module
查询)并准备一个只有名称的模块对象列表。所有其他属性都可以null
。
我使用 QueryOver API 进行了尝试:
IQueryOver<ProjectModule> module = session.QueryOver<ProjectModule>()
.Select(a=>a.Name)
.TransformUsing(
NHibernate.Transform.Transformers.AliasToBean<ProjectModule>());
pm = module.List<ProjectModule>();
pm
是IList<ProjectModule>
类型。
事务成功提交。没有发生错误,但我得到了一个包含所有属性 = 的模块对象列表null
。模块名称null
、模块 IDnull
等。
我检查了使用 NUnit 在 SQL 上执行的查询并得到了这个:SELECT this_Name as y0_ FROM ProjectModule this_
.