首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >只读数据库视图如何适应存储库模式?

只读数据库视图如何适应存储库模式?
EN

Stack Overflow用户
提问于 2011-09-10 02:28:11
回答 2查看 6.7K关注 0票数 22

示例:您的数据库有一个名为"CustomerOrdersOnHold“的SQL视图。该视图返回特定客户和订单数据字段的过滤组合。您需要在应用程序中从该视图中获取数据。对这样的视图的访问如何适应存储库模式?你会创建一个"CustomerOrdersOnHoldRepository“吗?像这样的只读视图是否被视为聚合根?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-11 20:05:10

我更喜欢分离读存储库,甚至更好地将其名称更改为查找器或阅读器,存储库是为域使用而不是为了查询只读数据,你可以参考this articlethis,它解释了从存储库分离的查找器的用法。

我还建议将读模型与写模型体系结构CQRSthere分开

此体系结构允许您将读模型与写模型分开,甚至在数据存储和事件来源的使用方面也是如此。

对于中间解决方案,您可以利用一些CQRS概念,而不需要通过分离存储库和查找器来分离数据库的复杂性,请阅读此post

有关这种类型的解决方案的示例(使用相同的数据库,但将查找器与存储库分开),请查看this sample

票数 31
EN

Stack Overflow用户

发布于 2011-09-10 04:18:04

在DDD世界中,您的只读数据将被视为值对象。

我通常将值对象的访问方法放在现有的存储库中,直到有必要创建一个单独的存储库。它类似于一个方法,它可能返回一个静态列表,该列表将在地址表单上使用:

IAddressRepository
{
  Address GetAddress(string addressID);

  List<string> GetStates(string country);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7365913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档