Использование Linq с LLBLgen Pro

Я пытаюсь сделать следующее, используя MVC3, LLBLGEN PRO, и это выдает мне следующую ошибку:

Типы отображения: LLBLGenProQuery1 -> LLBLGenProQuery1 SD.LLBLGen.Pro.LinqSupportClasses.LLBLGenProQuery1[[Mail.DAL.EntityClasses.TblCostCentreEntity, Mail.DAL, Version=1.0.4638.16064, Culture=neutral, PublicKeyToken=null]] -> SD.LLBLGen.Pro.LinqSupportClasses.LLBLGenProQuery1 [[Mail.Model.CostCentre, Mail.Model, версия =1.0.0.0, культура = нейтральная, PublicKeyToken= ноль]]

Путь назначения: LLBLGenProQuery`1

Исходное значение: SD.LLBLGen.Pro.LinqSupportClasses.LLBLGenProQuery`1[Mail.DAL.EntityClasses.TblCostCentreEntity]


Public Function GetAllCostCentres() As SD.LLBLGen.Pro.LinqSupportClasses.LLBLGenProQuery(Of Model.CostCentre) Implements ICostCentreRepository.GetAllCostCentres

    Dim metaData As New LinqMetaData
    Dim q = From p In metaData.TblCostCentre _
                Select p
    Mapper.CreateMap(Of SD.LLBLGen.Pro.LinqSupportClasses.LLBLGenProQuery(Of CostCentre), EntityClasses.TblCostCentreEntity)()
    Mapper.Map(Of SD.LLBLGen.Pro.LinqSupportClasses.LLBLGenProQuery(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 q
End Function

1 ответ

Решение

Queryable

(Http://llblgen.com/documentation/3.5/LLBLGen%20Pro%20RTF/hh_goto.htm#Using%20the%20generated%20code/Linq/gencode_linq_gettingstarted.htm#LinqMetaData)

Это запрос, который заставит компилятор генерировать код, который создает во время выполнения дерево экземпляров Expression, представляющее весь запрос, короче говоря, дерево Expression. Дерево выражений не может быть выполнено напрямую, оно должно интерпретироваться для выполнения того, что указано внутри дерева выражений. Это то, что делает провайдер Linq, как Linq to LLBLGen Pro: он принимает дерево выражений, переводит его в элементы, которые он может понять, интерпретирует эти элементы и создает исполняемую форму этого запроса.

ILLBLGenProQuery (http://llblgen.com/documentation/3.5/LLBLGen%20Pro%20RTF/hh_goto.htm#Using%20the%20generated%20code/Linq/gencode_linq_gettingstarted.htm#ILLBLGenProQuery)

Интерфейс, определенный для элементов IQueryable, созданный LinqMetaData. Этот интерфейс позволяет выполнить запрос, вызвав метод Execute. Преимущество этого состоит в том, что вы можете получить результат запроса в его собственном контейнере, например, в коллекции сущностей. Другое преимущество состоит в том, что для получения списка результатов поставщику не нужно полностью просматривать результаты и копировать результаты в список: возвращенные результаты уже находятся в контейнере, в котором они изначально хранятся.

Другие вопросы по тегам