MVCScaffolding と ASP.NET を使用して単純な ASP.NET Web アプリケーションをまとめようとしています (私が思っていたこと)。SQL には、dbo.Albums、dbo.Tracks というデータ テーブルの基本的な階層があります。
モデルは簡単です。アルバムの場合:
public class Albums {
public int ID { get; set; }
public string Artist { get; set; }
public string AlbumTitle { get; set; }
public string Notes { get; set; }
}
public class Tracks {
public int ID { get; set; }
public int AlbumID { get; set; }
public string TrackTitle { get; set; }
public string Notes { get; set; }
}
基本的な CRUD ビューが構築され、正常に動作しています。Album
ただし、モデル データの後に、特定の AlbumId のトラック レコードごとに 1 つの行を含むテーブルを表示するビューを作成しようとしています。基本的に、これはMVCScaffolding テンプレートからのDetails
ビューが続くビューですが、2 つのモデルを使用し、1 つのパラメーター ( fromテーブル) を持ちます。Index
ID
Albums
そこからデータにアクセスするためにモデルを一緒に追加しようとしましたが、リストを反復処理する方法がわかりません (インデックス ビューは を使用します@model IEnumerable<Music.Models.Tracks>
)。これは結合されたモデルです:
public class AlbumsExtended
{
public Albums Albums { get; set; }
public Tracks Tracks { get; set; }
}
そして、 AlbumsExt.cshtml でアクセスしようとしています@model Music.Models.AlbumsExtended
。コントローラーは次のようになります。
public ViewResult AlbumExt(int id)
{
return View(tracksRepository.All.Where(tracks => tracks.AlbumId == id));
}
しかし、明らかにそれは正しくありません。