このLINQクエリは2つのテーブルにあります
public ViewResult data()
{
var query = from a in DB.Album
join b in DB.Artists
on a.ArtistId equals b.ArtistId
where (b.ArtistId == 2)
select new { a ,b };
return View(query.ToList());
}
ただし、これらのデータ、つまりアーティストテーブルのアーティスト名とアルバムテーブルのアルバム名をビューに表示するにはどうすればよいですか?
私はこのようなことを試みていますが、それは私にエラーを与えます
@model IEnumerable<test1.Models.Album>
@{
ViewBag.Title = "data";
}
<h2>data</h2>
@Model.Count()
<br />
<ul>
@foreach (var mod1 in Model)
{
<li>
@* @mod1.Genre.Name*@
@Html.DisplayFor(modelItem => mod1.Artist.Name)
<br />
@mod1.AlbumId
<br />
@mod1.Artist
<br />
@mod1.Title
</li>
}
</ul>
私が得るエラーは
ディクショナリに渡されるモデルアイテムのタイプは「System.Collections.Generic.List2 1[<>f__AnonymousType1
[test1.Models.Album、test1.Models.Artist]]」ですが、このディクショナリにはタイプ「System.Collections.Generic」のモデルアイテムが必要です。 .IEnumerable`1[test1.Models.Album]'。
何か案が ?