2013-05-03 4 views
1

Для ValueInjecter существует что-то вроде QueryableExtensions для Automapper?QueryableExtensions for ValueInjecter

Для тех, кто не знаком с этим functionality, он позволяет автоматически проектировать свойства, которые будут выполняться для запросов linq, так что только нужные столбцы выбираются из базы данных при проектировании объекта в простой DTO.

ответ

1

Я полагаю, вам нужно только необходимые добытчики собственности называть, попробуйте SmartConventionInjection, эта инъекция будет только получить значение свойства, когда это необходимо, он также запоминает свойство соответствия между типами так что в следующий раз он будет работать быстрее

https://valueinjecter.codeplex.com/wikipage?title=SmartConventionInjection&referringTitle=Home

+0

Я не уверен, что это то, что я после того, как, в частности. Идея состоит в том, чтобы выполнить проекцию на источник IQueryable, так что из источника данных выбираются только необходимые свойства для выполнения инъекции. Я хочу избежать выбора всех столбцов для сложной модели домена, которая проецируется на очень простой DTO. – DanP

+1

бит IQueryable - это коллекция, поэтому для этого вы сами делаете цикл foreach, и на каждой итерации вы используете инъекцию 'dto.InjectFrom (сущность)', ленивая загрузка с помощью EF, например, активируется, когда вы пытаетесь получить свойство, поэтому, если получатель не будет вызван, DB не пострадает от этого. Я рекомендую вам просто попробовать, и вы увидите, есть ли у вас то, что вы хотите – Omu

Смежные вопросы