我目前正在开发一个相当大的 Web 应用程序,并且正在使用域驱动设计。
我目前在跟踪对我的 Product 实体的更改时遇到了一些麻烦。问题是,产品部分由 SQL Azure 中的数据构建,部分由 Azure 表存储中的数据构建。如果某些属性发生了变化,我将需要同时坚持这两个,其他的只改变一个。
因此,我无法使用 NHibernate 或实体框架来跟踪更改。例如,Price 上的参数
public void AddPrice(Price price)
Product 实体上的方法必须持久化到 SQL Azure,才会对一系列价格进行计算,并将结果保存到 Azure 表存储。
你会如何解决这个问题?
想法:
1)我考虑过实现我自己的基于 Castle.DynamicProxy 的更改跟踪器,但这似乎相当乏味。
2) 在域实体内部实现事件。这不是一件好事。