The TypedList is a very simple one, just one table join 3 columns. If I use the
PocoWithLinqQuery, it works fine. But if I use the PocoWithQuerySpecQuery I get the described error. I need to be able to use the QuerySpec option because I need to add a where clause to the query. Any help with this would be greatly appreciated. I have never used these typed lists before, but cannot find another good way to be able to design Crystal Reports. Yes, I know they are horrible to work with, but I can't get away from them. Legacy application.
This is the generated QueryFactory method:
public DynamicQuery<CTS.Cubic.MoneyRoom.LLBLGenOMNY.TypedListClasses.Col002Row> GetCol002TypedList(
EntityQuery<NfCashboxInventoryEntity> root=null)
{
var rootOfQuery = root ?? this.NfCashboxInventory;
return this.Create()
.Select(() => new CTS.Cubic.MoneyRoom.LLBLGenOMNY.TypedListClasses.Col002Row()
{
TransportSealId = CashboxInventoryOmnyMrFields.TransportSealId.Source("TransportExt").ToValue<Nullable<System.Int64>>(),
CashboxTypeId = NfCashboxInventoryFields.CashboxTypeId.Source("Transport").ToValue<System.Int32>(),
ReconciliationId = NfCashboxInventoryFields.ReconciliationId.Source("Transport").ToValue<System.String>()
})
.From(rootOfQuery.As("Transport")
.LeftJoin(this.CashboxInventoryOmnyMr.As("TransportExt"))
.On(NfCashboxInventoryFields.CashboxTypeId.Source("Transport").Equal(CashboxInventoryOmnyMrFields.CashboxTypeId.Source("TransportExt"))
.And(NfCashboxInventoryFields.ReconciliationId.Source("Transport").Equal(CashboxInventoryOmnyMrFields.ReconciliationId.Source("TransportExt")))));
}
This is the TypedRow class:
//////////////////////////////////////////////////////////////
// <auto-generated>This code was generated by LLBLGen Pro v5.5.</auto-generated>
//////////////////////////////////////////////////////////////
// Code is generated on:
// Code is generated using templates: SD.TemplateBindings.SharedTemplates
// Templates vendor: Solutions Design.
//////////////////////////////////////////////////////////////
using System;
namespace CTS.Cubic.MoneyRoom.LLBLGenOMNY.TypedListClasses
{
/// <summary>Class which represents a row in the typed list 'MrNyct.Col002'.</summary>
/// <remarks>This class is a result class for a query, which is produced with the method <see cref="CTS.Cubic.MoneyRoom.LLBLGenOMNY.FactoryClasses.QueryFactory.GetCol002TypedList"/>.
/// Contains the following entity definition(s):
/// Entity: MrNyct.NfCashboxInventory. Aliassed as: Transport <br/>
/// Entity: MrNyct.CashboxInventoryOmnyMr. Aliassed as: TransportExt <br/>
/// </remarks>
[Serializable]
public partial class Col002Row
{
partial void OnCreated();
/// <summary>Initializes a new instance of the <see cref="Col002Row"/> class.</summary>
public Col002Row()
{
OnCreated();
}
/// <summary>Gets or sets the TransportSealId field. Mapped onto 'TransportExt.TransportSealId'</summary>
public Nullable<System.Int64> TransportSealId { get; set; }
/// <summary>Gets or sets the CashboxTypeId field. Mapped onto 'Transport.CashboxTypeId'</summary>
public System.Int32 CashboxTypeId { get; set; }
/// <summary>Gets or sets the ReconciliationId field. Mapped onto 'Transport.ReconciliationId'</summary>
public System.String ReconciliationId { get; set; }
}
}
And this is how I am executing the query:
[TestMethod]
public void QueryFactoryTest002()
{
QueryFactory qf = new QueryFactory();
DynamicQuery<Col002Row> dq = qf.GetCol002TypedList();
try
{
adapter.FetchQuery<Col002Row>(dq.ToString());
}
catch (Exception ex)
{
Assert.Fail(ex.Message);
}
}
LLBLGen version: 5.5.7 Build date 25-May-2020
ORMSupportClasses: 5.5.7
Database: Oracle 12g ODP.NET client
StackTrace:
at SD.LLBLGen.Pro.ORMSupportClasses.RetrievalQuery.Execute(CommandBehavior behavior) in C:\Myprojects\VS.NET Projects\LLBLGen Pro v5.5\Frameworks\LLBLGen Pro\RuntimeLibraries\ORMSupportClasses\Query\RetrievalQuery.cs:line 119
at SD.LLBLGen.Pro.ORMSupportClasses.DataAccessAdapterCore.FetchDataReader(IRetrievalQuery queryToExecute, CommandBehavior readerBehavior) in C:\Myprojects\VS.NET Projects\LLBLGen Pro v5.5\Frameworks\LLBLGen Pro\RuntimeLibraries\ORMSupportClasses\AdapterSpecific\DataAccessAdapterCore.cs:line 1487
at CTS.Cubic.MoneyRoom.LLBLGenOMNY.Oracle.DataAccessAdapter.FetchDataReader(IRetrievalQuery query, CommandBehavior readerBehavior) in V:\TFS\MoneyRoom\NYCT\src\LLBLGenOMNYOracle\DataAccessAdapter.cs:line 529