私は剃刀のテンプレートを使用してビューを作成したいが、多くのビューでは異なるモデルを返す多くのクエリがあるため、モデルのクラスを作成したくない。例えば匿名型モデルクラスを含む剃刀ビュー。可能です?
私は、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 */
};
私はこのクエリのビューを記述する必要があります。このクエリはアーティクルを返します。
今、私はどのようにモデル定義のように見えるべきかわかりません。
私はこのdeffinitionを使用しようとしました:CS1061 *
:: 'オブジェクト'「はaddition_fieldの定義が含まれていません
@model System.Collections.IEnumerable
しかし、その後、私はオブジェクト型に存在するdoesntのfiledsよりerrosを持っていました'拡張メソッド' addition_field 'は'オブジェクト 'タイプの最初の引数を受け入れることができませんでした*
これは私が次のモデルを書きたくない私のモデルです。もちろん
'@model System.Collections.IEnumerable' –
そのクエリは匿名型のではなく、 'Article'の' IEnumerable'を投影しているようです –
なぜモデルを書いたくないのかをもっと説明できますか?モデルクラスの使用には利点があります。あなたはintellisenseを使うことができます。部分クラスをより多く使うことができ、バリデーションのための属性をモデルクラスに追加することができます。 – Stuart