2009-05-15 21 views
0

レガシーなODBC 2.0準拠のデータベースを使用してASP.NET MVCを使用するプロジェクトを開始します。目標は、現在のシステム機能をウェブフロントエンドに置き換えて1年に1回以上実行し、SQL Serverとバックエンドを交換することです。ASP.NET MVCとODBC 2.0の操作方法

SQLサーバーに対してコードを作成し、リポジトリクラスにいくつかのshimを挿入して、代わりにODBCを使用することです。これを実行することも可能ですか? Entity Frameworkには、ODBCのサポートが組み込まれていません。

ご意見やアドバイスをいただければ幸いです。

+1

この質問には関連する回答が含まれています http://stackoverflow.com/questions/118248/good-net-orm-framework-that-supports-oledb-and-stored-procedures – Andiih

答えて

1

私は個人的にMVCでNHibernateを使用します。もともと、私たちのデータベースはEFをサポートしていないので、私はそれを拾いましたが、SQL Serverに移行してもNHibernateを保つだけで十分です。

学習曲線はちょっと奇妙です。それは間違いなく専門家になるためには急いですが、特定のレイヤーに慣れていくにつれて、より多くの作業を処理できるようにするのはかなりオーガニックであるという点で面白いです。

NHibernateはおそらくあなたのデータベースをサポートしていて、単純なデータアクセス層(DTOを返す)として使用でき、データベースに依存しないインターフェースを提供し、その時にSQL Serverをサポートすることができます。もしあなたがNHibernateをより欲しがってしまうと、その時が来るでしょう。

+0

nhibernateは、データアクセスとエンティティのレイヤーをコーディングしてEFでそれらを取り替えるよりも、作業(つまり、顧客のコスト)が少ないと言いますか? – Andiih

1

ODBCデータベースを照会するために、独自のデータアクセス層を作成することは何もありません。また、独自のエンティティレイヤを作成して、MVCモデルでデータレイヤを使用してエンティティを作成し、これらのオブジェクトをコントローラに返すこともできます。

基本的には、mvcアプリケーションの下にデータアクセスとエンティティレイヤがあり、その後、これらのエンティティをエンティティフレームワーク、またはnhibernateエンティティに置き換えることができます。

これは、MVCアプリケーションで使用しているデータベースを知る必要がないことを意味します。つまり、後でエンティティを切り替えるときに、簡単に時間を取る必要があります。

関連する問題