Quelqu'un pourrait-il souligner pourquoi cela pourrait se produire:
J'utilise Le code qui échoue est listé ici: em> p> débogage indique que Je m'attends au premier Le second Voici le maintenant, si je teste le même code avec mon SO-W Est-ce que cela se produit lors de l'utilisation de merci. P> p> NHibernate code> et le fournisseur
linq code> pour celui-ci. P>
séquence code> (qui est un
iquéryable
où code> déclaration de ce séquence, mais malheureusement, il laisse 0 éléments. strong> em> p>
(pourquoi ???) strong> H1>
où code> déclaration, au contraire, donne en réalité 2 éléments car il devrait fonctionner. p>
NHibernate -> sqlite code> requêtes pour les première et seconde < code> où code> instructions. em> p>
inmemoryrepository code>, qui stocke toutes les entités dans une liste simple, le
(x => true) code> fonctionne absoluté une amende absoluté. p>
NHibernate code>? Est-ce un bug ou je fais quelque chose de mal? Strong> p>
3 Réponses :
Je suppose que ceci est un bogue dans NHibernate basé sur la sortie SQLite que vous montrez. Vous pouvez essayer x => x.id == x.id code> plutôt que
x => vrai code> et voir si cela fonctionne. P>
Je ne sais pas NHibernate, mais le problème est évident à partir du SQL généré: votre base de données ne considère pas vrai (minuscule t) égale à la vraie (majuscule t). Dans SQL Server, vous pouvez modifier cela en modifiant la collation de la base de données (qui est une très mauvaise idée, à moins que vous ne souhaitiez une insensibilité des cas pour d'autres raisons). P>
Je suppose qu'il s'agit d'un bogue dans NHibernate que vous devez travailler. Test t => 1 == 1 code> au lieu de
t => true code>, ce qui pourrait fonctionner en fonction de la manière dont le code NHibernate est écrit. P>
ressemble à un bug pour moi. Sa conversion d'une opération booléenne en une évaluation de chaîne, et même qui est vissée, car elle définit la requête avec true code> et évalue en utilisant
true code>, donc un test sensible à la casse échouer. p>
Il est probablement lié à la façon dont Nhibernate traite l'expression qu'il crée de la Lambda, bien que la bonté sache ce qu'elle fait ...