Maybe the problem ExpressionDispatcher.AnalyzeJoin(), probably becouse the leftTable at line 1061 is a MetaTableExpression.
Mike, can you try to set a break point at line 1061 of DbLinq/Data/Linq/Sugar/Implementation/ExpressionDispatcher.Analyzer.cs and post here the leftExpression watch output? Giacomo On Wed, Apr 15, 2009 at 12:27 PM, Giacomo Tesio <[email protected]> wrote: > I hate Microsoft! > > > On Wed, Apr 15, 2009 at 12:16 PM, Pascal Craponne <[email protected]>wrote: > >> The bad news are that VB and C# do not generate the same Expressions with >> the apparently same LINQ request.This means that a special case is not >> supported by the engine, apparently in the "where" handling. >> >> >> On Wed, Apr 15, 2009 at 10:44, <[email protected]> wrote: >> >>> >>> Hello Newsgroup, >>> >>> another error occurs when I try to filter my LinQ Stmts by a WHERE >>> Clause. But this error is heavy to reproduce in the northwind DB. This >>> is the Stmt in Visual Basic: >>> Dim oCompleteProducTaskInfo = From oProdPlan In >>> m_oDb.m_oMyDBMySqlDb.ProdUkTIonPlan _ >>> Join oOrder In m_oDb.m_oMyDBMySqlDb.AUFTRagsListE _ >>> On oProdPlan.AuftragslisteID Equals oOrder.ID _ >>> Join oProductCosts In m_oDb.m_oMyDBMySqlDb.ProdUkTkoSTen _ >>> On oOrder.ProduktkostenID Equals oProductCosts.ID _ >>> Join oProduct In m_oDb.m_oMyDBMySqlDb.ProdUkT _ >>> On oProductCosts.ProdukteID Equals oProduct.ID _ >>> Join oProductCat In m_oDb.m_oMyDBMySqlDb.ProdUkTKateGoRiE _ >>> On oProduct.ProduktkategorieID Equals oProductCat.ID _ >>> ##-> Where (oProductCat.Kategorie Like m_sProductGroup) _ >>> Join oCustomer In m_oDb.m_oMyDBMySqlDb.KuNDE _ >>> On oOrder.KundeID Equals oCustomer.ID _ >>> Select New With { _ >>> oProdPlan, _ >>> oOrder, _ >>> oProductCosts, _ >>> oProduct, _ >>> oProductCat, _ >>> oCustomer} >>> >>> If I try to Access "oCompleteProducTaskInfo" I get this error: Message >>> = "S0701: No way to find left table for Join" >>> If I remove the Where clause (marked with ##->) I get no errors. I >>> have translated the Stmt into C# syntax, but there I get no errors. >>> That is strange, because its the same database and the same connector >>> (from dbmetal). >>> >>> // This stmnt is the C# Counterpart, but it works without errors: >>> var oCompleteProducTaskInfo = from oProdPlan in MyDB.ProdUkTIonsPlan >>> join oOrder in >>> MyDB.AUFTRagsListE >>> on >>> oProdPlan.AuftragslisteID equals oOrder.ID >>> join >>> oProductCosts in MyDB.ProdUkTkoSTen >>> on >>> oOrder.ProduktkostenID equals oProductCosts.ID >>> join oProduct in >>> MyDB.ProdUkT >>> on >>> oProductCosts.ProdukteID equals oProduct.ID >>> join oProductCat >>> in MyDB.ProdUkTKateGoRiE >>> on >>> oProduct.ProduktkategorieID equals oProductCat.ID >>> where >>> (oProductCat.Kategorie == m_sProductGroup) >>> join oCustomer >>> in MyDB.KuNDE >>> on >>> oOrder.KundeID equals oCustomer.ID >>> select new >>> { >>> >>> oProdPlan, >>> oOrder, >>> >>> oProductCosts, >>> >>> oProduct, >>> >>> oProductCat, >>> >>> oCustomer >>> }; >>> >>> Can someone give me a hint what I can do to detect the error? >>> >>> >>> Thanks >>> >>> Mike >>> >>> PS: Currently I make a Where stmt on the result of the first stmt. >>> >>> PSS: In eastern I was traveling by train, but without internet >>> connection. So excuse the amount of questions. >>> >>> >> >> >> >> > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
