I've also come across this same problem with DbLinq and very slow MySQL queries. You'll see a list of ArgumentExceptions thrown before the query is executed and it can take up to 8-10 seconds to execute.
Here is a work-around fix for the issue: 1. Download the latest SVN code for DbLinq at http://code.google.com/p/dblinq2007/source/checkout 2. Open the following file for editing in Visual Studio 2008 DBLinq\src \DbLinq\Data\Linq\Sugar\Implementation\ExpressionOptimizer.cs 3. On line 78, the problem manifests itself when attempting to evaluate the lambda expression. Change the function AnalyzeConstant() as follows: protected virtual Expression AnalyzeConstant(Expression expression, BuilderContext builderContext) { // we try to find a non-constant operand, and if we do, we won't change this expression foreach (var operand in expression.GetOperands()) { if (!(operand is ConstantExpression)) return expression; } // now, we just simply return a constant with new value // ***** COMMENTED OUT CODE ***** /*try { var optimizedExpression = Expression.Constant (expression.Evaluate()); // sometimes, optimizing an expression changes its type, and we just can't allow this. if (optimizedExpression.Type == expression.Type) return optimizedExpression; } // if we fail to evaluate the expression, then just return it catch (ArgumentException) { }*/ // ***** END COMMENTED OUT CODE *****// return expression; } 4. Re-compile the DbLinq project to get the new DbLinq.dll and reference it in your projects. The ArgumentExceptions should no longer appear and queries are executed instantly. Hope that helps. Primary Objects http://www.primaryobjects.com --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "DbLinq" 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/dblinq?hl=en -~----------~----~----~----~------~----~------~--~---
