2

私は asp.net を使用しており、現在 SQL SERVER 2008 を使用しています。私のコードでは、すべての DML 操作は SqlConnection、SqlCommand、SqlDataAdapter を使用して行われています。

しかし、データベースをORACLEまたはMySQLに移行する場合、ORACLE 用のコードを記述する必要があります -- OLEDBConnection、OLEDBCommand、OLEDBDataAdapter MySQL -- MySQL dll を含める必要があります。

この大きな変更により、コード全体を再度記述する必要があります。

  1. コードを一度に記述し、データベース プロバイダーに依存しないというこの問題を克服する方法はありますか?
  2. Entity Framework はこの図のどこかに含まれていますか?

私を案内してください。

4

1 に答える 1

2

基本クラスおよび の他のクラスDbConnectionを使用してデータ アクセス レイヤを記述する場合は、任意の継承型を渡して使用できます。DbCommandSystem.Data.Common

これは、データ アクセス レイヤーを 1 回記述するだけで、実際に使用する型を (おそらくIoCコンテナーを使用して)挿入することを意味します。

EF を含むほとんどの ORM は、この手法を使用してデータベースに依存しません。

于 2012-12-29T13:28:22.677 に答える