私はちょうど今、MVC4 (何年も Webform を使っていた) を自分自身に教えていて、イライラしていますが、かなり良い MVC についてではありません。Entity Framework は...まあ
私はVS2010を使用しています。
問題
外部キーなどで正規化された実際のデータベースがあります。しかし、Entity Framework について私が見つけたすべての例は、テーブルに直接表示されますが、ドロップダウンなどの入力側で直接テーブルを引き出すことはめったにありません。すべてのフロントエンド呼び出しが Stored Proc にヒットしました (なんて古い学校でしょう!罵倒は削除されました)
私は、MVC のモデル アーキテクチャが気に入っています。ここでは、データ ソースからのデータの属性 (表示名、範囲、データ型) を定義します。などですので、これは絶対に持っておきたいですね。
Entity Framework と MVC は、このシナリオではうまく機能したくありません。edmx ファイルを作成し (SP のみ)、SP 用に関数をインポートしました。今のところすべて問題ありません。
edmx/デザイナーからコントローラーを作成できません - コントローラー名を入力し、EF を使用して読み取りを行う MVC コントローラーを選択し、FuntionName_Result であるモデル クラスを選択し、コンテキストとして ...エンティティ名を選択します。FAIL メタデータを取得できません
OK、それで、EF 5.x DbContext ジェネレーターを試して、ファイル名を更新して、ブーム モデルとコンテキストを手に入れました。これで、クールな MVC を実行できるようになりました。サイトを再構築できます....ああ、恐怖です-すべてが以前に定義されています。
別のフォルダーに edmx を生成しようとしたり、DBContext ジェネレーターの後に削除しようとしましたが、コントローラーを作成できません。
'blah' is not part of the specified 'Context' class, and the 'Context' class could not be modifed to add a 'DbSet' property to it. (For example, the 'Context' class might be in a compiled assembly.)
DBSet を手動で追加すると、メタデータを取得できなくなります。これは、DB に接続できないために発生していると想定しています。web.config で接続文字列を使用するように指示する場所がわかりません。- これが問題の場合
ここに、より明るい未来への私の MVC の希望が死んでいます。
私は何が欠けていますか?
私は EF と結婚していないので、(すべてのコードを最初から書かずに) データベースにアクセスするためのより良い方法があれば、聞きに来ます。
ありがとう