前提: ASP.NET プロジェクトに Entity Framework、リポジトリ パターン、および MVP を使用しています。
質問: MVP パターンで、ビューに List<T> 型のプロパティを作成する方法を教えてください。ここで、T は Entity Framework によって生成されたデータ型です。
以下のコードで、List<TeamMember> の「TeamMember」は、SQL テーブル TeamMembersTable に基づいて Entity Framework によって作成されたクラスです。ここでの問題は、View に List<T> プロパティを作成していることです。T は、Entity Framework モデルのデータ型です。ビューはモデルレイヤーのデータ型に依存するようになったため、これは関心の分離に違反しているようです。このシナリオでビューとモデルを完全に分離するにはどうすればよいですか?
注:単純な TextBox の場合、データ型が String や DataTime などの .NET 型であるため簡単です。ただし、View で作成するプロパティの DataType がモデルからのものである場合、データ型に関する限り、View は Model とより密接に結合されているようです。
//***************Simplified Code Sample*******************//
using Model;
namespace View
{
public interface IEmployeeView
{
List<TeamMember> TeamMembers { set; }
}
}