は、WCFサービスと をお勧めしますか?
頼む人によって異なります。 MSに尋ねると、彼らは単に提供するほうが良い物がないので、はいと言います。 STEはこの非常に古いMS Connect suggestionへの応答でした。問題は、EF自体はいくつかの共通の振る舞いを共有する(時々、私を含め)MSプラットフォーム上で動作する2つのエンティティのグラフ(あなたは完全に自分自身をそれをしなければならない)と開発者の間で変更をマージするterrible bad supportを有していることである。
- 彼らが開発する怠惰ですMS自身が提供するAPIで直接的な魔法を期待しています。
- ほとんどの場合、新しい技術に移行する必要があるため、技術の熟練者ではありません。
- 彼らが知っている唯一のAPIは.NET Frameworkの一部です。彼らは他のオプションを探すのではなく、機能を比較しません。
最初の2点は、RADが設計者(または新しくT4テンプレート)と同義語になるMS戦略の結果です。
I share STEについての@リチャードの意見。私はSTEsのもう一つの欠点を追加します - 彼らは参加者の間で大きなデータセットを移動します。サーバーからエンティティグラフを取得する場合は、グラフ内の単一のエンティティを変更し、データをプッシュバックすると、グラフ全体が再び転送されます。変更されたエンティティのみを転送すると、STEのコアロジックと戦うことになります。また、プロパティレベルではなく、エンティティレベルごとに完全に変更を追跡するのは怖いです。大きなバイナリデータや文字列データを持つエンティティを変更した場合、サービスとデータベース間、およびサービスとクライアント間で不要なデータがあまりにも多く転送される可能性があります。
データトラフィックが少なく、エンティティが小さい単純なアプリケーションであれば、問題なく処理できます。エンティティをサービスから取得し、WPF UIに直接バインドすると、変更内容を追跡できます。後でエンティティをサービスに戻し、変更を維持することができます。あなたのクライアントとサービスは緊密に結びついていますが、シナリオによってはそれだけで十分です。