【发布时间】:2019-02-11 21:33:02
【问题描述】:
CQRS 写入数据库包含与 CQRS 读取数据库不同的字段是否正常?比如上面的例子,那么Product.Description在读端(NoSQL)被持久化,而在写端(SQL Server)不被持久化是否正常?
我意识到,写入端选择的数据库 (RDBMS) 可能会以不同于读取端选择的数据库 (NoSQL) 的方式构建数据。我特别询问是否“允许”选择在读取端和写入端持久保存哪些数据字段。
我问的原因是我正在阅读的一本书暗示这是正常的,但是,我在书中或网上找不到任何支持这一点的例子。
请看下面的代码:
public class Product
{
public Guid Id { get; set; }
public string Code { get; set; }
public string Description { get; set; }
public void LookupDescriptionByCode(List<ProductDescriptionLookup> productCodes)
{
Description = productCodes.Find(x => x.Code == Code).Description;
}
}
【问题讨论】:
标签: c# domain-driven-design cqrs