Hi everyone, At my work I'm forced to use VB.NET :( which is a sad thing on its own, but it got even sadder when using the NHibernate LINQ provider, since I found a bug on it. When comparing strings with '=' operator, the expression tree generated replaces the '=' operator with the following function: Microsoft.VisualBasic.CompilerServices.Operators.CompareString. A better explanation for the "reasons" for doing this can be found here: http://blogs.msdn.com/b/vbteam/archive/2007/09/18/vb-expression-trees-string-comparisons.aspx
So, I dug a little deeper and found a post from Fabian Schmied, who works with remotion, which talks about potential ways to solve this problem in re-linq. The link to the post is this: http://www.re-motion.org/blogs/mix/archive/2009/10/16/vb.net-specific-text-comparison-in-linq-queries.aspx If you follow that link you'll see I got in contact with him, and you can see I tried and solved my problem by hacking a little on NHibernate. After a conversation with him, we come to the conclusion that there's a better way to solve this bug, which involves using the latest re-linq dll. Yesterday, Fabian made another post (http://www.re- motion.org/blogs/mix/archive/2010/07/15/support-for-vb-specific-string- comparisons-in-re-linq.aspx) in which he explains the way to handle string comparison expressions coming from VB.NET. After reading his post, I knew a better (not the best) way to solve this bug. I downloaded NHibernate trunk from sourceforge, created a failing test case, and made it pass. Long story short, I found a bug in your codez and I fixed it, so I'd like to know the following: what can I do to pass the fix to you guys? Thank you. -- You received this message because you are subscribed to the Google Groups "nhusers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/nhusers?hl=en.
