私は現在 MVC4 で遊んでいて、Model > Controller 層でいくつかの問題に遭遇しました。
私のメインモデルオブジェクトはLinq To Sql
オブジェクト(自動生成)であり、から派生していますLinq.DataContext
。
私のコントローラーはから派生しており、どこでもDbDataController
積極的に使用しています。DbContext
DataContext
次のエラー メッセージが表示されますが、 と互換性がないため、ほぼ間違いありませんDbContext
。これに対する回避策はありますか?
型 'bugsbase4.Models.BugsDataDataContext' は、ジェネリック型またはメソッド 'System.Web.Http.Data.EntityFramework.DbDataController' の型パラメーター 'TContext' として使用できません。「bugsbase4.Models.BugsDataDataContext」から「System.Data.Entity.DbContext」への暗黙的な参照変換はありません。
Linq-to-SQL をモデルとして使用するのは悪い習慣ですか? Linq-to-SQL を使用せずにデータベースからすべてのテーブルとストアド プロシージャを自動的にマップする他の方法はありますか?
編集:EDMの使用を検討しましたが、私はそれに慣れていません. Linq-to-SQL は、ストアド プロシージャのサポートがはるかに優れていると感じています。