2011-01-07 17 views
7

Ok, creo que tengo todas mis configuraciones correctas y ahora solo estoy tratando de hacer una consulta de selección de la base de datos seleccionando algunos datos. Ahora estoy usando NHibernate 3.0, que aunque por LINQ soporte por defecto (o al menos una buena parte de enlace. Ahora todos los ejemplos de LINQ encuentro tiene el códigoUsando LINQ con NHibernate

session.Linq<User>() 

pero para la vida de mí no puede encontrar cómo o dónde se está estableciendo la sesión. ¿Es esta la razón por la que se debe hacer en 3.0 y, en caso afirmativo, cómo configuro las sesiones (qué usos necesito, clases, métodos, etc ...)? De lo contrario, ¿cuál es el correcto? forma de utilizar LINQ con NHibernate 3.0

ACTUALIZACIÓN:?

Ahora tengo el siguiente código:

var configuration = new Configuration(); 
configuration.Configure(); 
configuration.AddAssembly(typeof(Tag).Assembly); 
var sessionFactory = configuration.BuildSessionFactory(); 
var session = sessionFactory.GetCurrentSession(); 

pero aparece un error del compilador que dice que NHibernate.ISession no tiene una definición para Linq. Tengo los usings seguimiento:

using System.Collections.Generic; 
using System.Web.Mvc; 
using MyProject.Models; 
using MyProject.ViewModels.Desktop; 
using NHibernate.Cfg; 

Me estoy perdiendo algo?

+1

Creo que es 'session.Query ()' en NHibernate 3, ya que el proveedor de LINQ se incorporó al ensamblaje central –

+0

El wiki de NHibernate es un buen recurso para empezar - http://nhforge.org/wikis/howtonh/your-first-nhibernate-based-application.aspx –

Respuesta

8

es necesario importar el espacio de nombres:

using NHibernate.Linq; 

Además, es ahora:

session.Query<TEntity>(); 

en lugar de:

// Deprecated 
session.Linq<TEntity>(); 
+0

Sí, descubrí que necesitaba usar .Query en lugar de .Linq para NHibernate 3, Gracias – ryanzec

2

Obtiene una sesión del método NHibernate SessionFactory.CreateSession(). Una vez que tenga uno, puede usar las consultas HQL, la API de consulta de NH o LINQ para acceder a los datos.

Cuestiones relacionadas