27 votes

Problème avec la requête linq

Je suis en train d'utiliser linq to NHibernate (avec NHibernate Fluent) mais j'ai des problèmes avec la requête linq. Chaque fois que j'essaie de l'exécuter je reçois ce message :

"La méthode 'get_IsReadOnlyInitialized' dans le type 'NHibernate.Linq.Util.DetachedCriteriaAdapter' à partir de l'assembly 'NHibernate.Linq, Version=1.1.0.1001, Culture=neutral, PublicKeyToken=null " n'a pas un la mise en œuvre."

Quelqu'un sait comment résoudre ce problème? J'ai essayé avec la solution de cette page avec le modèle de contexte, mais il n'a pas aidé.

C'est le code:

using(var session = NHibernateHelper.OpenSession())   
{   
var informations = (from i in  session<Information>() where i.Text=="some text" select  i).ToList();   
}

Tout est parfait si je n'utilise pas la la partie mais si je l'utilise, j'obtiens cette erreur. Je pense que le problème est dans NHibernate.Linq.dll

50voto

cremor Points 3793

Vous ne devez pas utiliser NHibernate.Linq.dll avec NHibernate 3.0! NHibernate 3.0 inclut Linq (une version de loin meilleure que l'ancienne DLL d'extension), il vous suffit d'ajouter using NHibernate.Linq; et d'utiliser session.Query<T>() au lieu de session.Linq<T>() .

0voto

Tomas Points 1235

autant que je sache, vous ne comparez pas, mais attribuez le texte.

Faut-il pas == au lieu de =:

 using(var session = NHibernateHelper.OpenSession()) {
var informations = (from i in session<Information>() where i.Text=="some text" select i).ToList();
}
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X