【问题标题】:On Service Layer how to return couple entity from repository which is responsible of one entity在服务层上,如何从负责一个实体的存储库中返回一对实体
【发布时间】:2013-09-08 00:57:21
【问题描述】:

如果我知道每个存储库都在实体上是正确的
我有 ProductService 然后我需要获取当前产品的图像, 没有一些图像存储库。
我的产品存储库负责产品实体。
存储库只是返回给我们实体对象,因为如果我知道正确,存储库应该不知道 DTO 对象。
简而言之,我如何返回图像实体。我应该如何获取当前选定的产品图片。

在产品和图像外键之间。

但产品在数据库中可以有 10.000 个图像行。

我需要 10 x 10 的 IQueryable 数据。

我尝试了 Product.Images bla bla.. 但它并不满意。

或者我应该创建一个新的 ImageRepository 并将其注入产品服务。

然后将它与 BaseRepository 中的过滤方法一起使用。

我该如何设计它?

【问题讨论】:

    标签: entity-framework repository repository-pattern service-layer


    【解决方案1】:

    不要管产品存储库。您可以更改服务层以接受接口而不是 BaseRepository。该接口可以处理 EF 或其他类型(严格来说不是 EF\ORM 存储库)。有一些重构工具可以通过从现有的 BaseRepository(例如 ReSharper)生成接口来帮助解决这个问题。

    【讨论】:

    • 我不理会产品存储库。然后将一些自定义方法放入实现 Ibaserepository 的 Base 存储库。但是这些函数具有静态实体。它们不是通用的。因为在运行 BaseRepository 期间泛型是产品实体,因为它由产品服务调用。我在那里用静态实体修复了它。也许有人有更好的主意!
    猜你喜欢
    • 1970-01-01
    • 2017-04-20
    • 1970-01-01
    • 2011-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-30
    • 2015-10-07
    相关资源
    最近更新 更多