subconsultas - Problema con la consulta linq
uso de in en linq (2)
Estoy tratando de usar linq para NHibernate (con Fluent NHibernate) pero tengo problemas con la consulta de linq. Cada vez que intento ejecutarlo me sale este mensaje:
" Método ''get_IsReadOnlyInitialized'' en el tipo ''NHibernate.Linq.Util.DetachedCriteriaAdapter'' del ensamblado ''NHibernate.Linq, Version = 1.1.0.1001, Culture = neutral, PublicKeyToken = null'' no tiene una implementación. "
¿Sabe alguien cómo solucionar este problema? Intenté con la solución de esta página con el contexto del modelo, pero no ayudó.
Este es el código:
using(var session = NHibernateHelper.OpenSession())
{
var informations = (from i in session<Information>() where i.Text=="some text" select i).ToList();
}
Todo está bien si no uso la parte where pero si la uso obtengo este error. Creo que el problema está en NHibernate.Linq.dll
¡No debería utilizar NHibernate.Linq.dll con NHibernate 3.0! NHibernate 3.0 incluye Linq (una versión mucho mejor que la antigua extensión dll), solo necesitas agregar using NHibernate.Linq;
y use session.Query<T>()
lugar de session.Linq<T>()
.
Hasta donde puedo ver, no estás comparando, sino asignando el texto.
En caso de que no sea == en lugar de =:
using(var session = NHibernateHelper.OpenSession()) {
var informations = (from i in session<Information>() where i.Text=="some text" select i).ToList();
}