我将使用存储库模式,其中每个数据库表都有一个存储库类。我想知道你们如何处理只需要返回特定列的查询。
例如,假设我有以下内容: 项目表(虚构表)
在我的代码中,我使用上面提供的字段创建了一个名为Item.cs的对象(目前未使用orm)。
如果有多个场景需要返回:
1. ItemId 2. PurchaseDate和Name的组合 3. ItemId和价格
哪种方法最好?
1. 获取items表中的所有字段并返回一个Item对象(1个repo查询) 2. 在Repo中创建三个查询,并针对每个查询返回一个Item对象 3. 在Repo中创建三个查询,仅返回所需内容?
现在想象一下具有10个或更多字段的表的情况。
个人而言,我喜欢第一种选项,但我不确定是否有更好的方法。
例如,假设我有以下内容: 项目表(虚构表)
ItemId
Name
PurchaseDate
Description
Price
在我的代码中,我使用上面提供的字段创建了一个名为Item.cs的对象(目前未使用orm)。
如果有多个场景需要返回:
1. ItemId 2. PurchaseDate和Name的组合 3. ItemId和价格
哪种方法最好?
1. 获取items表中的所有字段并返回一个Item对象(1个repo查询) 2. 在Repo中创建三个查询,并针对每个查询返回一个Item对象 3. 在Repo中创建三个查询,仅返回所需内容?
现在想象一下具有10个或更多字段的表的情况。
个人而言,我喜欢第一种选项,但我不确定是否有更好的方法。
IQueryable
实际上与你希望存储库执行的功能背道而驰 - 它只是将基础设施问题重新引入到你的领域层中。 - Dave New