2012-09-13 17 views
6

İşlevlerimden birinde bir IQueryable nesnesi döndürmeyi ve eşlemeyi (Otomatik eşleyici) kullanmayı deniyorum.Otomatik döndürücüyü kullanarak IQueryable

Eksik tür Harita yapılandırma veya desteklenmeyen haritalama:

Bu hatadır: i bana bir hata atar bir IQueryable nesneyi döndürmek için deneyin girmez ama bir IEnumerable nesne cezası dönmek için yönetmek.

eşleme türleri: LLBLGenProQuery 1 -> CostCentre SD.LLBLGen.Pro.LinqSupportClasses.LLBLGenProQuery 1 [[Mail.DAL.EntityClasses.TblCostCentreEntity, Mail.DAL, sürüm 1.0.4638.16064, kültür = nötr, PublicKeyToken = null]] -> Mail.Model.CostCentre

Hedef yolu: CostCentre

Kaynak değeri:

: SD.LLBLGen.Pro.LinqSupportClasses.LLBLGenProQuery`1 [Mail.DAL.EntityClasses.TblCostCentreEntity] Bu kod

olduğu

Dim metaData Yeni LinqMetaData olarak Dim q = metaData.TblCostCentre olarak p _ seç p (TblCostCentreEntity ki, CostCentre) Mapper.CreateMap()

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

Uygun çözüm için lütfen [bu soru] bölümüne bakın (http://stackoverflow.com/questions/2212126/does-automapper-support-linq/12365931#12365931). – Alisson

cevap

3

Automapper aslında haritlama için Amacıyla Gönderen Her bir öğeyi IQueryable'da görmek zorunda. Anlaşılabilir olanı tekrar gözden geçirdikten sonra, sorgulandığı için artık sorgulanabilir değil.

+0

Anlam ifade ediyor. Teşekkür ederim. – Baahubali

+0

Bu bağlantıyı daha ayrıntılı olarak açıklar (yalnızca llblgen kullanıcıları için) - http://www.llblgen.com/tinyforum/Messages.aspx?ThreadID=17364 – Baahubali

+7

Yanlış: Lütfen bkz http://stackoverflow.com/a/12365931/178620 çözüm için. –

İlgili konular