Adapter
I have just upgraded to 2.5 from 2.0 refeshed the catalogue and regenerated the code
adapter.FetchEntityCollection(jobs, bucket, maxCount, sorter, JobListPrefetchPath());
gives the following exception:
SD.LLBLGen.Pro.ORMSupportClasses.ORMQueryExecutionException occurred
Message="An exception was caught during the execution of a retrieval query: The ORDER BY clause is invalid in views, inline functions, derived tables, subqueries, and common table expressions, unless TOP or FOR XML is also specified.. Check InnerException, QueryExecuted and Parameters of this exception to examine the cause of this exception."
Source="SD.LLBLGen.Pro.ORMSupportClasses.NET20"
RuntimeBuild="08312007"
RuntimeVersion="2.5.0.0"
QueryExecuted="\r\n\tQuery: SELECT [WaterWorksRC1].[dbo].[Address].[Id], [WaterWorksRC1].[dbo].[Address].[Basis2Id], [WaterWorksRC1].[dbo].[Address].[Address1], [WaterWorksRC1].[dbo].[Address].[Address2], [WaterWorksRC1].[dbo].[Address].[Address3], [WaterWorksRC1].[dbo].[Address].[Address4], [WaterWorksRC1].[dbo].[Address].[Address5], [WaterWorksRC1].[dbo].[Address].[Address6], [WaterWorksRC1].[dbo].[Address].[Address7], [WaterWorksRC1].[dbo].[Address].[Address8], [WaterWorksRC1].[dbo].[Address].[Postcode], [WaterWorksRC1].[dbo].[Address].[PropertyNumber1], [WaterWorksRC1].[dbo].[Address].[PropertyNumber2], [WaterWorksRC1].[dbo].[Address].[DisplayAddress], [WaterWorksRC1].[dbo].[Address].[LastUpdate], [WaterWorksRC1].[dbo].[Address].[Easting], [WaterWorksRC1].[dbo].[Address].[Northing], [WaterWorksRC1].[dbo].[Address].[Version] FROM [WaterWorksRC1].[dbo].[Address] WHERE ( [WaterWorksRC1].[dbo].[Address].[Id] IN (SELECT [WaterWorksRC1].[dbo].[Job].[WorkLocationFk] FROM ( [WaterWorksRC1].[dbo].[Customer] INNER JOIN [WaterWorksRC1].[dbo].[Job] ON [WaterWorksRC1].[dbo].[Customer].[Id]=[WaterWorksRC1].[dbo].[Job].[CustomerFk]) WHERE ( ( ( [WaterWorksRC1].[dbo].[Job].[ClosedAt] IS NULL AND [WaterWorksRC1].[dbo].[Job].[CancelledAt] IS NULL))) ORDER BY [WaterWorksRC1].[dbo].[Job].[Id] DESC))\r\n"
StackTrace:
at SD.LLBLGen.Pro.ORMSupportClasses.RetrievalQuery.Execute(CommandBehavior behavior)
at SD.LLBLGen.Pro.ORMSupportClasses.DataAccessAdapterBase.ExecuteMultiRowRetrievalQuery(IRetrievalQuery queryToExecute, IEntityFactory2 entityFactory, IEntityCollection2 collectionToFill, IFieldPersistenceInfo[] fieldsPersistenceInfo, Boolean allowDuplicates, IEntityFields2 fieldsUsedForQuery)
at SD.LLBLGen.Pro.ORMSupportClasses.DataAccessAdapterBase.FetchEntityCollectionInternal(IEntityCollection2 collectionToFill, IRelationPredicateBucket& filterBucket, Int32 maxNumberOfItemsToReturn, ISortExpression sortClauses, ExcludeIncludeFieldsList excludedIncludedFields, Int32 pageNumber, Int32 pageSize)
at SD.LLBLGen.Pro.ORMSupportClasses.DataAccessAdapterBase.FetchPrefetchPath(IEntityCollection2 rootEntities, IRelationPredicateBucket filterBucket, Int64 maxNumberOfItemsToReturn, ISortExpression sortClauses, IPrefetchPath2 prefetchPath, Boolean forceParameterizedPPath)
at SD.LLBLGen.Pro.ORMSupportClasses.DataAccessAdapterBase.FetchEntityCollection(IEntityCollection2 collectionToFill, IRelationPredicateBucket filterBucket, Int32 maxNumberOfItemsToReturn, ISortExpression sortClauses, IPrefetchPath2 prefetchPath, ExcludeIncludeFieldsList excludedIncludedFields, Int32 pageNumber, Int32 pageSize)
at SD.LLBLGen.Pro.ORMSupportClasses.DataAccessAdapterBase.FetchEntityCollection(IEntityCollection2 collectionToFill, IRelationPredicateBucket filterBucket, Int32 maxNumberOfItemsToReturn, ISortExpression sortClauses, IPrefetchPath2 prefetchPath)
at Cwc.WaterWorks.ServiceLayer.WaterWorksServiceLayer.GetJobsForList(JobFilter filter, Int32 maxCount) in C:\work\WorkManagement\RC1\WaterWorksServiceLayer\Job.cs:line 243
Seems like the inner select needs a TOP to work, but I can't see how to specify this other than via maxCount which is set to 100 for this call.
Setting the sorter to null prevents the error.