2012-05-08 9 views
0

MVC Music Storeのサンプルに基づいて、ジャンルとともにアルバムをプリフェッチしようとしていますが、完全なエンティティではなく、特定のデータのみを読み込みます。ここでEnity Frameworkクエリ結果の整形

は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, 
}) 

答えて

0

これはそれのようになります。

(from g in storeDB.Genres 
where g.Name == genre 
select new { 
    Genre = g, 
    Albums = g.Albums.Select(a => new { Title = a.Title, Price = a.Price }) 
}) 
+0

おかげで、私はしようとしているがでアルバムを含めますミュージックストアサンプルごとのジャンル。 –

関連する問題