Problem with LinqMetaData and multiple filter

Posts   
 
    
Torsten
User
Posts: 26
Joined: 13-Mar-2015
# Posted on: 27-Apr-2016 11:52:06   

Hey there,

I am facing a Problem with LinqMetaData and I hope someone could give me a hint, whats wrong:

First of all, this code is doing well


using (IDataAccessAdapter da = DataAccessAdapter.GetCUPnew()) {
    var metaData = new LinqMetaData(da);
    var settlements = metaData.BuchhaltungAuszug.Where(sd => sd.ZahlungsartDebitorenID.Value == 24);
    Assert.IsTrue(settlements.Any());
}

But this code gives an error:


using (IDataAccessAdapter da = DataAccessAdapter.GetCUPnew()) {
    var  metaData = new LinqMetaData(da);
    var  settlements2 = metaData.BuchhaltungAuszug.Where(sd => sd.ZahlungsartDebitorenID.Value == 24 && sd.Verbucht == false && sd.Betrag < 0);
    Assert.IsTrue(settlements2.Any());
}

where ZahlungsartDebitorenID is nullable int, Verbucht is bit and Betrag is decimal(19, 2)

It says:

An exception was caught during the execution of a retrieval query: Unkown Columnname 'LPFA_1'..

The resulting sql looks wrong:


exec sp_executesql N'SELECT TOP(@p4) CASE WHEN  EXISTS (SELECT [LPA_L2].[Id] FROM (SELECT [LPLA_1].[ID] AS [Id], [LPLA_1].[AuftraggeberBLZ] AS [AuftraggeberBlz], [LPLA_1].[AuftraggeberKonto], [LPLA_1].[AuftraggeberName], [LPLA_1].[Betrag], [LPLA_1].[WaehrungID] AS [WaehrungId], [LPLA_1].[Transaktionsereigniscode], [LPLA_1].[Verwendungszweck], [LPLA_1].[BuchDatum], [LPLA_1].[WertDatum], [LPLA_1].[Buchtext], [LPLA_1].[Gebuehren], [LPLA_1].[GebuehrenWaehr], [LPLA_1].[Transaktionscode], [LPLA_1].[ReferenzNr], [LPLA_1].[ReferenzNrTyp], [LPLA_1].[BenutzerdefiniertesFeld], [LPLA_1].[KundenNr], [LPLA_1].[ZahlungsverfolgungsNr], [LPLA_1].[CCNumber] AS [Ccnumber], [LPLA_1].[CCRefnumber] AS [Ccrefnumber], [LPLA_1].[CCCollector_trx] AS [CccollectorTrx], [LPLA_1].[CCReference] AS [Ccreference], [LPLA_1].[CCRecordID] AS [CcrecordId], [LPLA_1].[Ordernumber], [LPLA_1].[Orderdate], [LPLA_1].[CUBankkontoID] AS [CubankkontoId], [LPLA_1].[EigeneBLZ] AS [EigeneBlz], [LPLA_1].[EigeneKontoNr], [LPLA_1].[AuszugNr], [LPLA_1].[Verbucht], [LPLA_1].[AutomatischVerbucht], [LPLA_1].[Verarbeitet], [LPLA_1].[Bemerkung], [LPLA_1].[GVC] AS [Gvc], [LPLA_1].[GVCErg] AS [Gvcerg], [LPLA_1].[CCCardType] AS [CccardType], [LPLA_1].[Bearbeitungsmodus], [LPLA_1].[BearbeitungsIP] AS [BearbeitungsIp], [LPLA_1].[BearbeitungAb], [LPLA_1].[BearbeitungsFormHandle], [LPLA_1].[BearbeiterPersonalNummer], [LPLA_1].[DatensatzAngelegtAm], [LPLA_1].[DatensatzAngelegtVon], [LPLA_1].[ZuletztGespeichert], [LPLA_1].[ZuletztGespeichertVon], [LPLA_1].[CCDatum] AS [Ccdatum], [LPLA_1].[NachfolgeReferenz], [LPLA_1].[CCVuNummer] AS [CcvuNummer], [LPLA_1].[ZahlungsartDebitorenID], [LPLA_1].[Storniert], [LPLA_1].[TransferGebucht], [LPLA_1].[SettlementHeaderID] AS [SettlementHeaderId] FROM [DEV_CUPNEW_HEUTE].[dbo].[tblBuchhaltungAuszuege]  [LPLA_1]   WHERE ( ( [LPFA_1] = @p2))) [LPA_L2]) THEN 1 ELSE 0 END AS [LPFA_2] FROM [DEV_CUPNEW_HEUTE].[dbo].[tblBuchhaltungAuszuege]  [LPLA_1]  ',N'@p2 bit,@p4 bigint',@p2=1,@p4=1

Why is the expression with one argument doing fine but with more than one dont?

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39590
Joined: 17-Aug-2003
# Posted on: 27-Apr-2016 12:23:46   

the linq provider is in llblgen pro since 2.6, so we need more info regarding which version you're using etc. Thanks. http://www.llblgen.com/tinyforum/Messages.aspx?ThreadID=12769

Frans Bouma | Lead developer LLBLGen Pro
Torsten
User
Posts: 26
Joined: 13-Mar-2015
# Posted on: 02-May-2016 10:01:12   

We are using 4.2 (LLBLGen.Pro.Core.dll is version 4.2.14.1204)

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39590
Joined: 17-Aug-2003
# Posted on: 02-May-2016 11:23:31   

Torsten wrote:

We are using 4.2 (LLBLGen.Pro.Core.dll is version 4.2.14.1204)

that's an old version, please try the latest v4.2 build first. (available in My account -> downloads -> 4.2)

Frans Bouma | Lead developer LLBLGen Pro