小编ozi*_*x06的帖子

使用 DTOS 将数据从存储库获取到服务层

我正在学习 ASP.NET 存储库模式。我做了一些研究,但找不到正确的答案。

我的 DAL 上有一个数据库实体 Employee,它有许多列。我有 EmployeeRepository 负责使用 DBContext 查询数据。

现在我的服务层上有 EmployeeService,它需要为员工返回一个 DTO,也就是说,它只有几个字段。(名字、姓氏、出生日期)。

现在,如果我从 EmployeeRepository 中以 IQueryable 的形式获取员工列表,并在服务层上将它们选择为 EmployeeDTO,那么我将通过启用服务层访问数据库来违反规则。

如果没有,则 EmployeeRepository 会将每个员工的所有数据以列表的形式返回给服务层,以便服务层只选择少数字段来创建 EmployeeDTO。但在这种方法中,我将加载所有不需要的数据。

我想知道是否有人有建议。

亲切的问候,

c# asp.net model-view-controller repository-pattern asp.net-web-api

5
推荐指数
1
解决办法
2816
查看次数