Controller が Index ActionResult で返したモデルから結果セットを選択するために、どこかで linq ステートメントを使用する必要がありました。これを行うために、「ビュー レーザーで linq を使用する方法」をググると結果が得られ、アプリケーションは正常に動作しましたが、「ビューで Linq を使用しないでください」という推奨事項が表示されます。可能であるにもかかわらず、なぜそれを使用すべきではないのでしょうか? また、使用したくない場合の解決策は何ですか?
これは私のクエリです:
@using System.Linq
@{var lst = (from x in item.Showtimes select x.ShowtimeDate).Distinct();}
@foreach (var showTimeItem in lst)
{
<option value="@showTimeItem">@showTimeItem</option>
}
アップデート
これは私のコントローラーのインデックスです
public ActionResult Index()
{
MelliConcert.Models.MelliConcertEntities db = new Models.MelliConcertEntities();
var listOfConcerts = (from x in db.Concert
orderby x.ID ascending
select x).Take(15).ToList();
return View(listOfConcerts);
}
そして、私はこのようなビューでそれを使用します:
@model IEnumerable<MelliConcert.Models.Concert>
@foreach (var item in Model)
{
@if (item.OpenedForFirst == true)
{
//...
}
//Some Codes
@using System.Linq
@{var lst = (from x in item.Showtimes select x.ShowtimeDate).Distinct();}
@foreach (var showTimeItem in lst)
{
<option value="@showTimeItem">@showTimeItem</option>
}
}
このループに配置された私のlinqステートメント。私は何をすべきか?