[英]Using LINQ with NHibernate
好的,我认为我的所有配置都正确,现在我只是尝试从数据库中选择一些数据进行选择查询。 现在我正在使用NHibernate 3.0,我默认支持LINQ(或者至少是链接的一个很好的部分。现在我找到的每个LINQ示例都有这个代码
session.Linq<User>()
但我为我的生活找不到如何或在哪里设置会话。 这是正确的,为什么在3.0中进行,如果是这样,我如何设置会话(我需要什么使用,类,方法等...)? 如果没有,使用LINQ和NHibernate 3.0的正确方法是什么?
更新:
现在我有以下代码:
var configuration = new Configuration();
configuration.Configure();
configuration.AddAssembly(typeof(Tag).Assembly);
var sessionFactory = configuration.BuildSessionFactory();
var session = sessionFactory.GetCurrentSession();
但我得到一个编译错误,说NHibernate.ISession没有Linq的定义。 我有以下用法:
using System.Collections.Generic;
using System.Web.Mvc;
using MyProject.Models;
using MyProject.ViewModels.Desktop;
using NHibernate.Cfg;
我错过了什么吗?
您需要导入名称空间:
using NHibernate.Linq;
此外,它现在:
session.Query<TEntity>();
代替:
// Deprecated
session.Linq<TEntity>();
您从NHibernate SessionFactory.CreateSession()
方法获得一个会话。 一旦有了,就可以使用HQL查询,NH查询API或LINQ来访问数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.