同じデータベースに複数の(5+)アプリケーションがあり、アプリケーションがすべて同じデータを取得するクエリを作成するという問題が発生しています。しかし、異なる開発者がこれらのクエリを作成しているので、それらは同じではないので、時々異なる結果が返されます。ビジネスクエリをカプセル化するためのサービスを作成する
私が見る限り、2つの解決策があります。
- 各アプリケーションの参照は、各アプリケーションで使用される一般的なクエリをカプセル化するWCFサービスを作成し、適切なクエリ
- を取得し、
私は」を使用するアプリケーションごとにクライアントを作成するためのライブラリを作成します。これは、クエリで使用しているフィルタを変更して、各アプリケーションを一度に更新する柔軟性を与えるので、オプション2に傾いています。
サービス階層は、次にQueryService
と相互作用するクライアントを作成
public class QueryService
{
private readonly IRepository _repository;
public QueryService(IRepository repository)
{
_repository = repository;
}
public IEnumerable<int> GetCommonOperation()
{
return _repository.GetCommonOperation();
}
public IEnumerable<AnotherDto> AnotherCommonOperation()
{
return _repository.AnotherCommonOperation();
}
}
ようになります。
私の質問なぜいくつかのアプリケーションで一般的に使用されるクエリ/操作をカプセル化する唯一の目的でクエリサービスを作成する一般的なアプローチはありますか?
これはその答えです。ハハ返信ありがとう。 – gcso