关于结构的问题

时间:2010-10-08 22:46:05

标签: asp.net-mvc-2 repository-pattern decoupling

我有一个ASP.NET MVC 2项目。我已经解耦了图层。我有一个服务层和一个存储库层。 控制器调用服务方法,只有服务层调用存储库中的方法。

问题是: 我的存储库类中的方法使用LINQ连接。从这个方法,我想返回一个类型,合并来自连接表的一些数据。 (即,Name = a.Name,Position = b.Position)我总是在我的存储库类中返回IEnumerables。所以在这种情况下,似乎我需要为(Name,Position)定义一个新类型,并从存储库函数返回该类型。但是,那么,我将不得不将该类重新映射到其他ViewModel类。 (因为我正在分离问题,我不应该在存储库中使用viewmodel类吗?)这会导致许多不同的类。 EF类,连接表的类和视图模型类。

我是否走在正确的道路上?

请赐教。

谢谢

1 个答案:

答案 0 :(得分:0)

考虑在存储库层定义这些类。基本上他们是DTO课程,听起来你在我已经走过的赛道上。

您希望将该类重新映射到其他ViewModel类的原因是什么?

public class EmpPosition()
{
    public property Name{get;set;}
    public property Position{get;set;}
}

//Repo
public IEnumerable<EmpPosition> GetEmployeePositions()
{}