Анонимный тип с Linq to Entity (EF 4.1)? - PullRequest
2 голосов
/ 09 января 2012

Предположим, что я хочу извлечь данные в анонимный объект (т.е. извлечь данные из двух или более таблиц и сохранить их в переменной) в какой-то части разработки моего приложения с помощью запроса Linq to Entity.Позже мне понадобится Razor View для доступа к этим извлеченным / анонимным данным.Что мне здесь делать?

Что я думаю, чтобы спроектировать другую ViewModel, которая будет содержать соответствующие свойства свойств анонимного типа и создать view / razor, который строго типизирован для этой ViewModel?Это правильный способ работы с анонимными типами в EF 4.1?т.е. для каждого анонимного типа создайте ViewModel и сохраните извлеченные данные в его объект.

1 Ответ

4 голосов
/ 09 января 2012

Анонимный тип не предназначен для использования вне рамок метода, поэтому обычно это просто одноразовые типы, которые будут использоваться только в этом методе.

Я бы предпочел загрузить данные в обычный класс поверх ViewModel, чтобы полностью отделить модель от представлений.Я бы использовал пользовательский класс для хранения извлеченных данных, а затем в Контроллере заполнил ViewModel этим классом и получил бы бритвенное представление, строго типизированное для ViewModel.Это немного менее компактно, но имеет лучшее разделение проблем.

...