【发布时间】:2011-01-07 00:21:23
【问题描述】:
好的,我想我已经完成了所有配置,现在我只是尝试从数据库中选择一些数据进行选择查询。现在我正在使用 NHibernate 3.0,尽管默认情况下我支持 LINQ(或者至少是链接的很大一部分。现在我找到的每个 LINQ 示例都有这个代码
session.Linq<User>()
但我终其一生都找不到会话的设置方式或位置。这是在 3.0 中执行的正确原因吗?如果是,我该如何设置会话(我需要什么用途、类、方法等……)?如果不是,那么在 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;
我错过了什么吗?
【问题讨论】:
-
我相信它是 NHibernate 3 中的
session.Query<User>(),因为 LINQ 提供程序已被引入核心程序集 -
NHibernate wiki 是一个很好的入门资源 - nhforge.org/wikis/howtonh/…
标签: c# linq nhibernate