Я хотел бы реализовать MVC при использовании LINQ (в частности, LINQ-to-entities). Я бы сделал это так, чтобы контроллер сгенерировал (или вызвал что-то, что генерирует) набор результатов с использованием LINQ, а затем вернул его в представление для отображения данных. Проблема в том, что если я сделаю:
return (from o in myTable select o);
Все столбцы считываются из базы данных, даже те (возможно, десятки), которые мне не нужны. И, что более важно, я не могу сделать что-то вроде этого:
return (from o in myTable select new { o.column });
потому что нет способа сделать анонимные типы типобезопасными! Я точно знаю, что в 3.5 нет красивого и чистого способа сделать это (это не чисто...), а как насчет 4.0? Есть ли что-то запланированное или даже предложенное? Без чего-то вроде утиного ввода для LINQ или безопасных для типов анонимных возвращаемых значений (мне кажется, что компилятор, безусловно, должен быть на это способен), кажется, почти невозможно четко отделить контроллер от представления.