Я хочу создать класс репозитория, чтобы отделить мою логику данных от моих контроллеров. Я использую ViewModel для представления некоторых данных, которые будут заполнены данными из разных таблиц.
Вот несколько вопросов, которые у меня есть:
GetAll()
, я должен вернуть IQueryable<MyViewModel>
или IQueryable<Entity>
? Если я верну модели представления, как мне справиться с GetAll()
, который извлекает тысячи записей?Опять же, меня больше всего беспокоит такой метод, как GetAll()
, который вытянет много записей. Если бы я выполнял цикл foreach для перевода каждой сущности в ViewModel, это выглядело бы как много накладных расходов. Моя мысль заключалась в том, чтобы поместить ссылку внутри пользовательского класса ViewModel на IQueryable<Entity>
для доступа из коллекции, а в ListViewModel просто были индексаторы или что-то в этом роде, которые ссылаются на свойство коллекции.