好的,我想我的所有配置都正确,现在我只是尝试从数据库中选择一些数据来执行选择查询。现在我正在使用 NHibernate 3.0,虽然我默认支持 LINQ(或者至少是链接的一部分。现在我找到的每个 LINQ 示例都有这段代码
session.Linq<User>()
但我终其一生都找不到设置 session 的方式或位置。这是在 3.0 中做的正确原因吗?如果是,我该如何设置 session (我需要什么用途、类、方法等...)?如果不是,在 NHibernate 3.0 中使用 LINQ 的正确方法是什么?
更新:
现在我有以下代码:
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>();
关于c# - 将 LINQ 与 NHibernate 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4621418/