gpt4 book ai didi

c# - 存储库模式和返回类型

转载 作者:太空狗 更新时间:2023-10-29 20:53:14 26 4
gpt4 key购买 nike

我正在使用存储库模式,其中每个数据库表有一个存储库类。我想知道你们如何处理只需要返回特定数量的列的查询

例如说我有以下内容

项目表(虚构的表)

ItemId
Name
PurchaseDate
Description
Price

在我的代码中,我创建了一个包含上述字段的对象,称为 Item.cs(当前未使用 orm)。

如果我有多种情况需要返回

  1. 项目编号
  2. 购买日期和姓名的组合
  3. ItemId 和价格

哪种方法最好?

  1. 从 items 表中获取所有字段并返回一个 Item 对象(1 个 repo 查询)
  2. 在 Repo 中创建三个查询并为每个查询返回一个 Item 对象
  3. 在 Repo 中创建三个查询并仅返回需要的内容?

现在想象一下这个场景,表中有超过 10 个字段。

就我个人而言,我喜欢选项一,但我不确定是否有更好的方法。

最佳答案

我在需要时将方法添加到我的存储库中,这与通用存储库不同,在通用存储库中,无论您是否需要它们,您都会获得一组方法。

返回 IQueryable 是一个有漏洞的抽象。

看看领域驱动设计(这本书),您就会很好地了解设计良好的存储库应该是什么样子。

我还写了一篇关于通用存储库的文章:http://blog.gauffin.org/2012/02/generic-repositories-a-silly-abstraction-layer/

关于c# - 存储库模式和返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9419321/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com