0

ASP.NET MVC 4アプリケーションを構築していて、可能な限り柔軟にしたいと考えています。

抽象データベースアクセスクラスを作成し、それらの具体的な実装を分離しました(SQL Serverアクセス​​)。

これは、構築されたコントローラーに正しい実装を自動的にバインドするninjectでうまく機能します。

私が現在解決している問題は、エンティティの1つ(ユーザーエンティティ)に複数の関連エンティティ(タスクエンティティ)(1xn関係)があるため、このエンティティクラスに、関連するすべてのコレクションを返すプロパティを作成したかったことです。ユーザーのタスク。

問題は、エンティティ内でデータベースアクセスの正しい実装を見つける方法がないことです。

ここでの正しいアプローチは何でしょうか?

タスクを返すメソッドを作成することは可能ですが、このメソッドには、具体的なデータベースの実装を表すパラメーターも必要です。

4

1 に答える 1

1

ここで何かが足りないと思います。ドメインオブジェクト(ユーザー、タスクなど)と、それらを永続化する方法と場所(この場合はデータベースへのアクセス)は、2つの異なるものです。

あなたが言ったように、あなたはN層に基づいて「柔​​軟な」アーキテクチャを開発しているので、DBでどのように表現されるか(おそらく1対多)をあまり気にしないドメインオブジェクトの設計に集中することをお勧めします。関係)。

この場合、Userクラスには、のリストを表すプロパティがありますTasks

于 2013-02-22T10:56:58.370 に答える