У нас есть проект, который был реализован в linq to sql и переносится в среду выполнения LLBLGenPro с использованием шаблона адаптера.
Первая версия приложения выполняла огромное количество операций кэширования, помещая целые таблицы в httpcache, а затем выполняла все ссылки в коде. (Вздыхает)
Итак, вы получите что-то вроде:
from p in MyCacheObject.ProductPages
join cmpp in MyCacheObject.ProductContentMemberships on p.ProductPageId equals cmpp.ProductContentId
join pl in MyCacheObject.ProductPlans on cmpp.ProductLinkId equals pl.ProductPlanId
Теперь в нашем новом шаблоне репозитория я могу создавать такие объединения с путями предварительной выборки. Вы просто вызываете myRepository.GetProductPagesWithContentMemberships () и получаете сущность ProductPage с коллекцией ProductContentMemberships.
Здорово, когда мы разговариваем с БД, но как мне иногда извлечь из коллекции кэшированных сущностей? Я хочу кэшировать таблицы, а затем использовать их для создания моих сложных объектов.
Я могу сделать «получить из кэша» вместо «получить из базы данных» решение, которое может принять репо, но я надеюсь, что мне не нужно писать две совершенно разные реализации GetProductPagesWithContentMemberships (): одну из дБ и один использовать кеш.
Я надеюсь, что есть какой-то магический адаптер, который я могу использовать, который будет выполнять мой linq для кеша объектов вместо того, чтобы отправлять его на сервер SQL. Есть ли такая вещь?
Этот пост: http://www.llblgen.com/tinyforum/Messages.aspx?ThreadID=6265 намекает, что это возможно, но это все.