MVC Music Store サンプルに基づいて、ジャンルと共にアルバムをプリフェッチしようとしていますが、完全なエンティティではなく、アルバムから特定のデータのみを読み取ろうとしています。
EF クエリは次のとおりです。
public ActionResult Browse(string genre)
{
// Retrieve Genre and its Associated Albums from database
var genreModel = storeDB.Genres.Include("Albums").Single(g => g.Name == genre);
return View(genreModel);
}
次のビューモデルがあるとします:
public class AlbumViewModel
{
public string Title { get; set; }
public decimal Price { get; set; }
}
EF LINQ クエリを変更して、ジャンル情報を取得し、アルバムを含めるが、エンティティ全体ではなく、ビュー モデルにリストされているデータのみを選択するにはどうすればよいですか?
ビュー モデルの部分を実行するには、(VB) のようにします。
From a In storeDB.Albums
Where a.Genre = genre
Select New AlbumViewModel With {
.Title = a.Title,
.Price = a.Price,
})