1

小さな検索アプリケーションを実行するために、EF 4.0、エンティティへの linq、VS 2010、および SQL Server 2005 ストアド プロシージャを使用しています。EDM と必要なレイヤーを設計しました。プレゼンテーション層は、検索結果を適切に表示します。

現在のジレンマは、検索がさまざまなテーブルから読み取るのに十分柔軟でなければならないということです。たとえば、現在の検索では、アプリケーションはテーブル A から読み取ります。明日、アプリケーションは、テーブル A とはまったく異なる列名を持つテーブル B から読み取る必要があるかもしれません。

EDM を使用して、プレゼンテーション層に影響を与えることなく、テーブル A の列をテーブル B の列にマップする方法を教えてください。

提案/ポインタ/リンクは大歓迎です。

お時間をいただき、ありがとうございました。

4

2 に答える 2

3

以下のリンクで説明されているデータリポジトリとIDataRepositoryクラスDataRepositoryを使用しました。また、fetch()関数とFind()関数を使用してデータを動的にフェッチする方法

http://huyrua.wordpress.com/2010/07/13/entity-framework-4-poco-repository-and-specification-pattern/

そしてその動作はかなりうまくいきます

于 2011-10-21T14:08:42.510 に答える
2

プレゼンテーション層をデータから切り離すことをお勧めします。ニーズに応じてさまざまなテーブル(エンティティ)から設定できるジェネリッククラスを使用してビジネスレイヤーを作成します。

したがって、日によっては、ジェネリッククラス(または複数のクラス)がテーブルA、テーブルB、またはテーブルXから入力されます。ただし、プレゼンテーション層はこれを認識せず、ジェネリッククラスのデータのみを認識します。

これはいくつかの方法で設計できます。1つの方法は、ジェネリッククラスにデータを取り込むためにエンティティが準拠する必要のあるインターフェイスを設計することです。したがって、テーブル構造が何であっても、ジェネリッククラスにデータを入力して検索結果として表示するには、テーブル内のデータをインターフェイスにマップする必要があります。

于 2011-10-21T14:17:01.353 に答える