Using Automapper to Return IQueryable

I am trying to return an IQueryable object to one of my functions and use a mapping (Automapper). It manages to return an IEnumerable object, but as soon as I try to return an IQueryable object, it throws an error:

This is mistake:

Missing type map configuration or unsupported display.

Display Types: LLBLGenProQuery 1 -> CostCentre SD.LLBLGen.Pro.LinqSupportClasses.LLBLGenProQuery 1 [[Mail.DAL.EntityClasses.TblCostCentreEntity, Mail.DAL, Version = 1.0.4638.16064, Culture = neutral, PublicKeyToken = null] → Model.CostCentre

Target Route: CostCentre

Original value: SD.LLBLGen.Pro.LinqSupportClasses.LLBLGenProQuery`1 [Mail.DAL.EntityClasses.TblCostCentreEntity]

This is the code:

Dim metaData As New LinqMetaData Dim q = From p To metaData.TblCostCentre _ Select p Mapper.CreateMap (from TblCostCentreEntity, CostCentre) ()

  Dim t As IEnumerable(Of CostCentre) = Mapper.Map(Of CostCentre)(q) 'Select New CostCentre With {.Active = p.Active, .CostCentre = p.CostCentre, .CreatedBy = p.CreatedBy, .DateCreated = p.DateCreated, .DateLastModified = p.DateLastModified, .ModifiedBy = p.ModifiedBy, .CostCentreID = p.CostCentreId} Return t 
+6
source share
1 answer

For Automapper to actually match, it must see every element in IQueryable. After you have repeated the request, it is no longer requested because it has already been requested.

+3
source

Source: https://habr.com/ru/post/925264/


All Articles