数日前に私はGenericRepositoryとUnit Of Workパターンhttp://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-applicationに関するチュートリアルを読んでいました。私はWebフォームを使用し、EntityFramework CTP4パッケージがインストールされています。 (私はEF 5を使用することはできません)。EntityFramework 4、DbSet、ObjectContext
は、私は私のプロジェクトのための一般的なリポジトリをコーディングしたいが、私はこのラインで立ち往生した
this.dbSet = context.Set<TEntity>();
私はこのラインが機能しないことを知っている私のプロジェクトとデータベースの最初のアプローチでの使用のObjectContextので。どうすればそれに対処できますか?コードを最初にマイグレーションせずにジェネリックリポジトリをコード化することはできますか(私の場合はオプションではありません)?
ありがとうございました。 これで、DbSetではなくObjectSet が作成されますが、パターンについては同じ方法で使用できます。 私はこの行のfindメソッドに問題があります。 dbSet.Find(id); ObjectSetを使用してこれをコード化するにはどうすればよいですか? –
mrrobot
ObjectSetのIdで検索するのが難しいため、なぜDbContextを使用しなかったのですか?私はこのメソッドのどれを使うべきか、あなたと同じ方法でfindメソッドを作成しようとしているのだろうか、おそらく私はDbContextを使うべきでしょうか?私は今までこのプロジェクトで多くのコードを書いていないので、おそらくDbContextを使う方が良いでしょうか?あなたはそれについてあなたの意見を与えることができますか?ありがとうございます – mrrobot
私は私のアプリケーションを開始した時点で、EFコードファーストはまだリリースされていませんでした。 Ropstahの答えに基づいて、Model FirstまたはDatabase Firstアプリケーション用のCode Firstスタイルクラスを生成するために使用できるテンプレートがあるようです。私はそのアプローチを試みたことがないので、実際にそれがうまくいくかどうか、またそれがうまくいくかどうかについては話すことができません。 – CodingGorilla