c#、wcf、entityframeworkを使用して.net4アプリケーションを開発しようとしています。私の最初のアイデアは、EFで生成されたオブジェクトをwcfを介して渡すことでした(最初にデフォルトのエンティティオブジェクトを使用し、次にPOCOエンティティを使用します)が、生成されたエンティティのシリアル化できないオブジェクトが原因で、すぐにいくつかの接続の問題が発生しました(接続が閉じられます)。EFでクエリされたデータをホストするために、いくつかのデータのみのクラスを作成することになりましたが、WCFでのEFの役割を見逃しています。私は何か間違ったことをしていると思いますが、EFを使用してwcfを介してデータを送信するにはどうすればよいですか?EFのポイントは何ですか?ストアドプロシージャと標準のado.netを作成する方が簡単ではないでしょうか...?
1361 次
1 に答える
4
Entity Frameworkは、単なるデータアクセステクノロジーです。データベースと通信し、Entity Frameworkを使用して必要なデータを返すデータアクセスレイヤーを作成し、それをWCFサービスにプラグインして、WCFサービスがデータを取得できるようにすることができます。他のコンシューマー(Silver lightアプリケーション、Windowsフォームプロジェクト、またはMVCアプリケーション)と同じデータアクセスレイヤーを使用できます。Entity Frameworkを使用する利点は、データをドメインオブジェクト(POCOクラス)にロードするため、手動で行う必要がないことです。ストアドプロシージャの場合は、ストアドプロシージャを実行する必要があります。DataReader/ DataTableを介して反復処理し、オブジェクトを埋めます。このためには、コードを書く必要があります。Entity Frameworkを使用している場合は、EFがこれを行うため、開発時間を節約できます。
プロジェクトを明確に論理的に分離して、データアクセスと、データアクセスレイヤー(WCFサービス)を使用するコンシューマーが存在するようにする必要があります。
于 2012-06-07T21:22:37.483 に答える