繁体   English   中英

使用LINQ和NHibernate

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM