Chcę utworzyć widok za pomocą szablonu maszynki do golenia, ale nie chcę pisać klasy dla modelu, ponieważ w wielu widokach będę miał wiele zapytań, które będą zwracać różne modele.widok maszynki z klasą modelu typu anonimowego. To jest możliwe?
Na przykład mam kwerendy LINQ:
from p in db.Articles.Where(p => p.user_id == 2)
select new
{
p.article_id,
p.title,
p.date,
p.category,
/* Additional parameters which arent in Article model */
};
muszę napisać dla tego zapytania. To zapytanie zwraca artykuł.
Teraz nie wiem, jak powinna wyglądać definicja modelu.
Próbowałem użyć tego deffinition:
@model System.Collections.IEnumerable
Ale wtedy miałem erros niż fileds robi istnieje w rodzaju obiektu:
* CS1061: 'obiekt' nie zawierają definicji dla „addition_field "i bez metody rozszerzenia" add_field "można znaleźć pierwszy argument typu" obiekt "*
To jest mój model, dla którego nie chcę pisać następnego modelu. Oczywiście
'@model System.Collections.IEnumerable' –
tego zapytania wydaje się Projekcja 'IEnumerable' anonimowych typów, a nie' Article' –
Czy możesz wyjaśnić, dlaczego nie chcesz pisać modelu? Istnieją zalety korzystania z klas modeli - np. możesz użyć intellisense, możesz w większym stopniu korzystać z klas częściowych i dodawać atrybuty takie jak sprawdzanie poprawności do klas modeli. – Stuart