8

Entity Frameworkを使用して、かなり単純なサンプルプロジェクトを開始しました。このプロジェクトでは、SQLServer2000データベースから新しいエンティティデータモデルを作成しました。LINQ to Entitiesを使用してデータをクエリし、画面に値を表示することができます。

私は非常によく似たスキーマを持つOracleデータベースを持っています(正確にしようとしていますが、Oracleのすべての詳細を知りません)。プロジェクトを最小限の労力でSQLServerとOracleの両方のデータストアで実行できるようにしたいと思います。エンティティデータモデルの構成文字列を変更するだけで、残りはEntityFrameworkが処理することを望んでいました。ただ、思った通りシームレスには動かないようです。

誰かが私がやろうとしていることをしましたか?繰り返しになりますが、Entity Frameworkを使用して、最小限の労力でSQL ServerまたはOracleデータベースからデータをクエリ(および更新)できるアプリケーションを作成しようとしています。2番目の目標は、データストアを切り替えるときにアプリケーションを再コンパイルする必要がないことです。「データベースからモデルを更新」する必要がある場合は、再コンパイルする必要がないので問題ないかもしれませんが、このルートを使用する必要はありません。誰かが必要かもしれないステップを知っていますか?

4

2 に答える 2

2

「永続性の無視」という用語で一般的に理解されているのは、エンティティクラスがフレームワークの依存関係で溢れているわけではないということです(N層シナリオでは重要です)。エンティティクラスは、プレーンな古いCLRオブジェクトではなく、特定のEFインターフェイス(「IPOCO」)を実装する必要があるため、現在はそうではありません。別の投稿者が言及しているように、そのためのEntity Framework V1用の永続性無視(POCO)アダプターと呼ばれるソリューションがあり、EFV2はすぐにPOCOをサポートします。

しかし、あなたが本当に心に留めていたのは、データベースの独立性だったと思います。ストレージモデル、概念モデル、および型付きObjectContextが設計時に生成される2つの間のマッピングを含む1つの大きな構成XMLでは、2つのデータベースを透過的にサポートする方法を想像するのも難しいと思います。

おそらくもっと有望に見えるのは、DataDirectのようなデータベースに依存しないADO.NETプロバイダーを適用することです。DataDirectは、2008年第3四半期のEFサポートも発表しました。

于 2008-09-17T13:07:19.777 に答える
1

http://blogs.msdn.com/jkowalski/archive/2008/09/09/persistence-ignorance-poco-adapter-for-entity-framework-v1.aspx

主な問題は、エンティティ フレームワークが持続性の無視を考慮して設計されていないことです。正直なところ、エンティティ フレームワーク以外のものを使用することを考えています。

于 2008-09-17T00:45:07.893 に答える