4

データベースにアクセスするWebアプリとコンソールアプリケーションがあります。dbには2つのテーブル(A、B)があり、そのうちの1つ(A)はWebアプリに固有です。データアクセス層を作成する場合、それを行うための最良の方法は何ですか?技術的には、データアクセス層はアクセス可能なすべてのデータへのアクセスを提供する必要があります。そうすることで、単一のアクセスレイヤーがある場合、Aと対話するメソッドがコンソールアプリケーションに公開されます。同じデータベースに2つのテーブルへの2つのアクセスレイヤーを作成することは意味がありますか?それを行うための良い方法は何ですか?

4

1 に答える 1

1

個人的には、データアクセスレイヤーをクラスと1(または多くの中間クラス)に分離して、データアクセスレイヤーによって通信/入力されるビジネスエンティティを保持します。次に、コンソールと Web アプリケーションがビジネス エンティティ レイヤーと対話します。

例えば:

データ アクセス層

データベース、ストアド プロシージャを実行するメソッド、関数、およびクエリに関するすべての接続情報を保持します。このクラスはTable A and Table B

コンソール 1 エンティティ

これは、データ アクセス層インスタンスを使用して適切な情報を取得するメソッド/プロパティを保持します。いえ

public List<string> GetTableAContents() {
   var retVal = Data.RunStoredProcedure("sp_Table1Contents);
   return retVal;
}

コンソール アプリケーション

Console1Entity ce = new ConsoleEntity();
var contents = ce.GetTableAContents();

次に、そのアプリケーションに関連するものに基づいて、新しい WebApplication エンティティ クラスを作成します。これにより、3 層アーキテクチャが提供されます。

于 2012-05-31T22:32:45.553 に答える