MVC3をEFで使用しています(バージョン4、ただし4.0,4.1などが不明)。私は昨日からこれと戦ってきました。私はどこでも答えを見つけられません。私は "Pro Entity Framework 4.0"という本を使用しています。エンティティFw 4、MVC3、派生クラスがObjectContextに表示されない
私はモデルの最初のアプローチを行なったし、私は、継承を使用したいので、私は最初testingsを行うための基本モデル(申し訳ありませんが、リンクをクリックして、私は絵を置くのに十分な担当者を持っていない)を作成しました:
このモデルではデータベースを作成しました。エンティティ名を複数形にしているにもかかわらず、派生したクラステーブルのために、プレフィックス付きの単一テーブル名を作成したので、命名規則にはあまり納得していません。私はSSMSがインストールされているが、サーバーエクスプローラから見て、絵が表示されていないごめんなさい:
その後、私は、読み取りとテンプレート「コントローラとBaseClassのためのコントローラを作成/アクションを書いて、ビュー、Entity Frameworkを使用して "。それは素晴らしい作品です!それはすべてのビュー、CRUDを作成しました。詳細で例えば
は、私はこのコードを持って表示:
//
// GET: /BaseClass/Details/5
public ViewResult Details(int id)
{
BaseClass baseclass = db.BaseClasses.Single(b => b.Id == id);
return View(baseclass);
}
それは正常に動作します。
私はDerivedClassのために同じことをしました、そして、私はすべてのCRUDアクションとビューでコントローラを手に入れました。そして、今問題。あなたはそれがコンパイルエラーを与えると、db.BaseClasses代わりのdb.DerivedClassesを取得しようとしますが、DBはへのアクセスを提供していない見ることができるように
//
// GET: /DerivedClass/Details/5
public ViewResult Details(int id)
{
DerivedClass derivedclass = db.BaseClasses.Single(d => d.Id == id);
return View(derivedclass);
}
:たとえばDerivedClassの詳細コントローラは、このようなものです私はそれが可能である、コード内で手動DerivedClassのインスタンスを作成する場合DerivedClassエンティティは、DerivedClass.Butに関連するすべてのDBには何もありません:
MyNamespace.Blablabla.Site.Models.DerivedClass dev = new Models.DerivedClass();
私は何も足りませんか?前もって感謝します。
ありがとうWouter、これは私が必要なものです! –