December 17, 2009

Fixing the bugs in DataObjects.Net LINQ translator: an example case

Sometimes we get pretty strange bug reports:


During fixing the issue we frequently check how other ORM tools handle this. Normally we start from LINQ to SQL, since currently it supports more standard LINQ operations in comparison to EF:


So L2S fails on this case, and I’d say this is an epic fail. I’m curious how this could happen at all – i.e. why it did not translate property name at all, and why it was appended to column name in SELECT list?

Btw, Entity Framework handles this case properly:


So although LINQ itself is pretty simple, LINQ providers are really complex.

P.S. Of course the bug is fixed in DataObjects.Net repository.