1

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

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

我在正确的道路上吗?

请赐教。

谢谢

4

1 回答 1

0

考虑在存储库层定义这些类。从本质上讲,它们是 DTO 课程,听起来你在我应该走的轨道上。

您期望将该类重新映射到其他 ViewModel 类的任何原因?

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

//Repo
public IEnumerable<EmpPosition> GetEmployeePositions()
{}
于 2010-10-08T23:02:18.993 回答