私はMVCとEntity Frameworkにはとても新しいので、asp.netチュートリアルに従おうとしていて、大きな問題に遭遇しました。私は正しく表示されるテーブルを持っていますが、参照テーブルのデータではなくテーブルの外部キーを示しています。私はここで熱心なローディングを利用したいと思っていますが、どこに私のインクルードを入れるのか分かりません。 asp.netのチュートリアルはMVCの古いバージョンのものだと思います。私のインクルードは次のスニペットに入るべきだと私は理解しています。私はアーティストの種類を含めることを試みています。Eager Loading使用の問題を含む
まず、私のモデルクラスの一部:
modelBuilder.Entity<tblArtist>()
.HasMany(e => e.tblArtisttblArtistType)
.WithRequired(e => e.tblArtist)
.WillCascadeOnDelete(false);
modelBuilder.Entity<tblArtist>()
.HasMany(e => e.tblIssueArtist)
.WithRequired(e => e.tblArtist)
.WillCascadeOnDelete(false);
modelBuilder.Entity<tblArtist>()
.HasMany(e => e.tblIssueAutograph)
.WithRequired(e => e.tblArtist)
.WillCascadeOnDelete(false);
modelBuilder.Entity<tblArtistType>()
.HasMany(e => e.tblArtisttblArtistType)
.WithRequired(e => e.tblArtistType)
.WillCascadeOnDelete(false);
そして、私のコントローラのコード:
public class tblArtistsController : Controller
{
private joerdieComicsModel1 db = new joerdieComicsModel1();
// GET: tblArtists
public ActionResult Index()
{
return View(db.tblArtist.ToList());
}
// GET: tblArtists/Details/5
public ActionResult Details(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
tblArtist tblArtist = db.tblArtist.Find(id);
if (tblArtist == null)
{
return HttpNotFound();
}
return View(tblArtist);
}
私には、コードは公共のActionResultインデックス()メソッドに行く必要がありますが、私はあることを理解それがどうやって行なわれたのか分からなくなった。
ありがとうございます。
具体的にロード/表示したい情報/データはありますか? – Shyju
tblArtistTypeのartistTypeが、現在表示されているデータとともに表示されます。アーティストテーブルのデータはどれですか。 – joerdie
ArtistとArtistTypesはどのように接続されていますか?これらのクラスの関連部分を質問に追加できますか? – Shyju