以下のアーキテクチャ図を参照してください。私のクライアントがプロジェクトに対して提案したものです。プロジェクトは非常に大きなサイズで、現在はデータベース操作のためのADO.Net(ストアドプロシージャ)を使用したSOAです。.NETアプリケーションのシステムアーキテクチャ設計
それは余分なレイヤを追加し、追加もパフォーマンスの問題を作成することができように私は、メッセージングサービスを使用するには少し消極的です。
私の下のクエリ
にご入力をお願い致します(1)私たちは現在のアーキテクチャ に直面している主な問題 - 長時間実行stopred手順は、それは同様に他の操作を遅く実行しているとき。そのため、1つの大きなデータベースを複数のデータベースに分割しています。 - アプリケーションロジックは現在かなり複雑です。複雑なクエリを持つストアドプロシージャがあります。
(1)EFを使用してADO.Netを完全に置き換えることは可能でしょうか。約20のテーブルを含む複雑な(または大きな)クエリを持つストアドプロシージャを置き換える方法。
(2)私たちが複数のデータベースを持っているときに切断を維持するには、これは非常に難しいと思います。
(3)同様のアーキテクチャーを使用してサンプルやアプリケーションを試してみてください。パイロットアプリケーションを作成し、現在のデータベースでテストすることができます。
代わりに、私は/更新/挿入するために、すなわち(各アプリケーションが一般的なリポジトリとEFを使用してデータベースにデータを書き込み、アプリケーションがお互いに話をしたいときにマイクロサービスアーキテクチャの一種である、アーキテクチャの下に好みますデータをフェッチする)、メッセージングサービスを使用します。どんなアプローチが良いか教えてください。私の経験で
パフォーマンスが重要な基準である場合は、EFが適切な選択肢ではない可能性があります。 [Dapper](https://github.com/StackExchange/Dapper)は良い妥協点かもしれません。 –