Asp.net Mvcを学習しようとしているので、 このチュートリアルを試しています。
彼らは、リポジトリパターンと、Linq to Sqlを直接呼び出すのではなく、別のデータアクセステクノロジに簡単に変更できることについて話します。
コントローラクラス内でLINQtoSQLを使用すると、将来的にデータアクセステクノロジを切り替えることが困難になります。たとえば、Microsoft LINQからSQLの使用から、データアクセステクノロジとしてのMicrosoftEntityFrameworkの使用に切り替えることができます。その場合、アプリケーション内のデータベースにアクセスするすべてのコントローラーを書き直す必要があります。
注:このチュートリアルを読む前に、インターフェースがどのように機能するかを実際に理解したことはありませんでしたが、それでも100%明確ではありません。私は今それをクラスのある種の「テンプレート」として見ています。
Linq to Sqlの使用に成功した後、これについて多くのことを読んでいるので、Ado.netEntityFrameworkを試してみるといいと思いました。リポジトリパターンを使えば簡単に切り替えられるとのことで、テストしてみようと思いました。
私の質問は、Ado.net EFに変更するにはどうすればよいですか?
これは私がすべきだと思うことです。
- Movie.edmxファイルを追加して構成します(ムービーテーブルを追加します)。
- IMovieRepositoryに基づいて新しいクラスを作成し、MovieEFRepositoryと呼ぶ場合があります。
- コントローラコンストラクターのパラメーターをMovieEFRepositoryに変更します。これは私が最初に奇妙だと思うことです。チュートリアルでは、リポジトリを使用しないと、他のデータソースに変更した場合にすべてのコントローラーを変更する必要があると言われているためです。MovieRepositoryクラスを指定しているので、とにかくすべてのコントローラーを変更する必要はありませんか?
- 私がする必要があると思う最後の調整は、ビューを変更することです。LinqtoSqlデザイナによって作成されたProductクラスを使用しているためです。これをどうやってやるのかわかりません。dbmlファイルに依存しないオブジェクトを使用する必要があったと思いますか?
Asp.net Mvcを少し単純化したビューがある場合は、ご容赦ください。私はAsp.netWeb開発に大きな関心を持っているWebデザイナーです。