2012-09-13 16 views
6

Sto tentando di restituire un oggetto IQueryable in una delle mie funzioni e utilizzando la mappatura (Automapper). E 'riuscito a restituire un bene oggetto IEnumerable ma non appena cerco di restituire un oggetto IQueryable mi genera un errore:Utilizzo di Automapper per restituire IQueryable

Questo è l'errore:

mancante configurazione del tipo di mappa o la mappatura non supportato.

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

percorso

Destinazione: CostCentre

valore Fonte: SD.LLBLGen.Pro.LinqSupportClasses.LLBLGenProQuery`1 [Mail.DAL.EntityClasses.TblCostCentreEntity]

Questo è il codice:

Dim metadati Nuova LinqMetaData Dim q = Da p In metaData.TblCostCentre _ Selezionare p Mapper.CreateMap (Di 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 
+0

Fare riferimento a [questa domanda] (http://stackoverflow.com/questions/2212126/does-automapper-support-linq/12365931#12365931) per la soluzione corretta. – Alisson

risposta

3

Affinché Automapper per eseguire effettivamente la mappatura , deve vedere ogni elemento in IQueryable. Una volta iterato su una query, non è più interrogabile come è stato già richiesto.

+0

Ha senso. Grazie. – Baahubali

+0

Questo collegamento lo spiega ulteriormente (solo per gli utenti di llblgen) - http://www.llblgen.com/tinyforum/Messages.aspx?ThreadID=17364 – Baahubali

+7

Errato: vedere http://stackoverflow.com/a/12365931/178620 per la soluzione. –

Problemi correlati