标签: architecture entity ravendb data-access-layer business-logic-layer
我真的很喜欢实现不可变实体的想法。不幸的是,这在RavenDB中会变得不方便,因为我不能只是加载一个实体并更改其属性。
我解决这个问题的方法是创建不可变的BBL实体和可变的DAL实体。在我看来,这种解决方案会导致开销,因为我需要在某个时候将DAL实体转换为BBL实体,并且必须照顾代表一个实体的两个类(DRY-不要重复自己!)。
您通常如何解决此问题?您是否只是使BLL实体可变并且也将它们用作DAL实体?