在 MVP 模式中,如何在视图中创建 List 类型的属性<T>,其中 T 是实体框架生成的数据类型?



前提:我正在使用ASP.NET项目使用实体框架,存储库模式和MVP。

问题:在MVP模式中,如何创建类型列表的属性&lt; t&gt;在视图中,t是由实体框架生成的数据类型?

在下面的代码中,列表中的" Teammember"&lt; teammember&gt;是一个基于SQL Table Teammberstable的实体框架创建的类。这里的问题是我正在创建列表&lt; t&gt;在我看来,属性是我实体框架模型的数据类型。这似乎违反了问题的分离,因为该视图现在取决于我的模型层中的数据类型。如何在这种情况下完成视图和模型的清洁分离?

注意:在一个简单的文本框的情况下,由于数据类型为.NET类型,例如字符串或Datatime。但是,如果要在视图中创建的属性数据类型来自模型,就数据类型而言,它似乎使视图与模型更加紧密。

//***************Simplified Code Sample*******************//
using Model;
namespace View
{
    public interface IEmployeeView
    {
        List<TeamMember> TeamMembers { set; }
    }
}

介绍一个视图模型,该模型将代表您的团队班级并将其传递到您的视图中,例如。

public class TeamMemberViewModel
{
    ...
}
public interface IEmployee
{
    public List<TeamMemberViewModel> TeamMembers { get; set; }
}

最新更新