Tôi muốn tạo một khung nhìn bằng cách sử dụng mẫu dao cạo, nhưng tôi không muốn viết một lớp cho mô hình, vì trong nhiều khung nhìn, tôi sẽ có nhiều truy vấn sẽ trả về các mô hình khác nhau.xem dao cạo với lớp mô hình ẩn danh. Điều đó là có thể?
Ví dụ tôi có một truy vấn 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 */
};
tôi cần phải viết một Xem cho truy vấn này. Truy vấn này trả về một bài viết.
Bây giờ tôi không biết làm thế nào nên trông giống như một định nghĩa mô hình.
Tôi cố gắng để sử dụng deffinition này:
@model System.Collections.IEnumerable
Nhưng sau đó tôi đã có một erros hơn fileds doesnt tồn tại trong loại đối tượng:
* CS1061: 'đối tượng' không chứa một định nghĩa cho 'addition_field 'và không có phương pháp mở rộng' addition_game_field 'chấp nhận đối số đầu tiên của loại' đối tượng 'có thể được tìm thấy *
Đây là mô hình của tôi mà tôi không muốn viết mô hình tiếp theo. Tất nhiên
'@model System.Collections.Ienumerable' –
truy vấn Đó dường như chiếu một 'IEnumerable' các loại vô danh, không phải của 'Article' –
Bạn có thể giải thích thêm lý do tại sao bạn không muốn viết một mô hình? Có lợi thế trong việc sử dụng các lớp mô hình - ví dụ: bạn có thể sử dụng intellisense, bạn có thể sử dụng nhiều hơn các lớp partial và có thể thêm các thuộc tính cho những thứ như xác nhận hợp lệ cho các lớp mô hình. – Stuart