Bee*_*ice 4 .net c# nhibernate
我在使用c#,nhibernate和link时遇到了问题.在下面的例子中,我在BrandTable中做了一个SELECT,但我只需要"Name"和"Id"列.但它总是对表的所有列进行选择.使用EntityFramework,相同的代码生成只有这两列的选择.
如何在nhibernate中执行此操作?
using (ISession session = MyConnection.GetCurrentSession())
{
var brands = from b in session.QueryOver<BrandTable>().List()
orderby b.Name
select new Brand {Id = b.id, Name = b.Name};
return brands.ToList();
}
Run Code Online (Sandbox Code Playgroud)
您不能对QueryOver使用查询推导,因为它不是Linq提供程序.在您的示例中,您实际上是在选择所有记录,然后使用LINQ to Objects.将NHibernate.Linq命名空间添加到您的文件并将查询重写为
from b in session.Query<BrandTable>()
orderby b.Name
select new Brand {Id = b.id, Name = b.Name};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10318 次 |
| 最近记录: |