1

プロジェクト管理に基づいて MVC3 アプリケーションを開発しました。データ ソースは、一部は既存のタイム レコーディング データベース (変更不可能なスキーマを持つ別のアプリ) からのもので、一部は私が作成したカスタム プロジェクト管理データベースからのものです。これらは両方とも同じサーバー上にあります。

クロス データベース クエリを可能にする Linq to Sql Classes モデルを作成しました。私のデータ モデルは複数のエンティティで構成されていますが、関連するプロパティを持つ Project エンティティと Job エンティティが特に重要です。ドメイン モデルの観点から見たこの関係は、実質的にプロジェクトが追加のプロパティを持つジョブであるため、1 つのドメイン エンティティ/クラスに存在する必要があると感じさせます。

私の質問は、アプリケーションのどのポイント/レイヤーで、これら 2 つのデータ エンティティを 1 つのドメイン エンティティにマージするかということです。

4

1 に答える 1

2

(2 つの) データ ソースからのすべてのデータ取得を含むデータ アクセス レイヤーを作成する必要があります。データのマージを扱う実装の詳細は、プロジェクトの上位レイヤーでビジネス ロジックから抽象化できます。この場合、データをコードに取得するために LINQ-to-SQL を直接実行する必要はなくなります。データは DAL レイヤーにプッシュ ダウンされます。

詳細については、この記事の図を参照してください。

于 2012-09-05T15:21:47.650 に答える