c# - 将 LINQ 与 NHibernate 结合使用

标签 c# linq nhibernate

好的,我想我的所有配置都正确,现在我只是尝试从数据库中选择一些数据来执行选择查询。现在我正在使用 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/

相关文章:

c# - 如何删除某些列的标题下划线?

c# - 在列表中添加(float x,int pos)(链接)

database - NHibernate 桌面应用程序 : should it use multiple sessions?

nhibernate - 如何确保使用 MassTransit Saga 将项目添加到 NHibernate 持久化 IList 的良好性能

c# - 如何使用部分 View 从 ajax success 中获取模型的特定数据

c# - 远程服务器返回意外响应 : (502) Bad Gateway in Azure WCF

sql - UseDatabaseNullSemantics 仍然生成 NULL 检查

.Net Linq 到 JSON 与 Newtonsoft JSON 库

database - 向用户公开代理键

c# - 计算 GridView 中选中的复选框