In the comments thread to Steve Strong's Linq to NHibernate progress
report post (
http://blogs.imeta.co.uk/sstrong/archive/2009/09/15/756.aspx),
Carlos Cubas asked about re-linq's compatibility with the expression
tree generated by
VB.NET (
http://blogs.imeta.co.uk/sstrong/archive/2009/09/15/756.aspx#2797).
Fabian posted a quick reply here (
http://www.re-motion.org/blogs/mix/archive/2009/09/03/recent-changes-in-re-linq.aspx#79)
but in order to give our shiny new mailing list something to do, I'll
get into a bit more depth.
The gist of Fabian's response was that re-linq should be able to
handle any expression you can write with classic Linq in either C# or
VB.NET, or, you can also create your own expression trees using the
framework-supplied query methods (minus a few not yet supported ones,
such as Any).
Unfortunately, we haven't gotten around to actually verifying this by
writing tons of integration tests, so all we have right now is a
reasonable assumption bred from re-linq's expression tree parsing
design. But since re-motion (and thus re-linq) is an open source
project, anyone willing to send us patches with integration tests
would be welcome.
I've started a
VB.NET project just for this purpose (
https://svn.re-motion.org/svn/Remotion/trunk/Remotion/Data/IntegrationTests.VB/).
There's also a corresponding place for C# integration tests (
https://svn.re-motion.org/svn/Remotion/trunk/Remotion/Data/UnitTests/Linq/IntegrationTests/LinqSamples101/Parsing/).
The C# side also contains the test domain. The tests are designed to
accept a Linq-query in the form of an Expression and the expected
string representation. The test infrastructure then passes the query
to our trusty QueryParser to get its string-representation. The rest
is a straightforward assertion of string-equality.
My idea was to start by implementing MS's 101 Linq Samples (
http://msdn.microsoft.com/en-us/bb688085.aspx) for both C# and
VB.NET,
at least as far as they're applicable to query-parsing instead of
query-execution. Check out the first few tests, and if you're
interested in joining the bandwagon, help is very welcome.
Michael
(This is a repost, there was a problem with the first message. Sorry)