前提:我正在为一个 ASP.NET 项目使用实体框架、存储库模式和 MVP。
问题:在MVP模式中,如何在View中创建一个List<T>类型的Property,其中T是Entity Framework生成的数据类型?
在下面的代码中,List<TeamMember> 中的“TeamMember”是Entity Framework 基于SQL 表TeamMembersTable 创建的一个类。这里的问题是我在我的视图中创建一个 List<T> 属性,其中 T 是我的实体框架模型中的数据类型。这似乎违反了关注点分离,因为视图现在依赖于模型层中的数据类型。在这种情况下如何实现 View 和 Model 的干净分离?
注意:对于简单的 TextBox,这很容易,因为数据类型是 .NET 类型,如 String 或 DataTime。但是,如果要在 View 中创建的属性的 DataType 来自模型,那么就数据类型而言,这似乎使 View 与 Model 耦合更紧密。
//***************Simplified Code Sample*******************//
using Model;
namespace View
{
public interface IEmployeeView
{
List<TeamMember> TeamMembers { set; }
}
}