首先进行逆向工程代码后,我获得了实体类和映射。大多数业务类(我已经拥有)与实体类具有相同的名称,实体和业务类中的大多数属性都是相同的。
如果我理解实现权限,我应该使用具有所有属性的实体类进行部分类,并通过删除这些属性并仅保留业务规则来更改业务类。
如果这是正确的,那么如何处理派生类?显然,实体类需要基类的所有属性。我可以更改实体类中的代码,以便实体类也从基类继承吗?
欢迎任何想法。
答案 0 :(得分:1)
也许您应该删除您的商务课程。 ORM是用于加载和持久化对象的工具 - 您没有用于持久性的特殊对象集和用于业务逻辑的特殊对象集。使用由持久化属性和计算属性组成的单一集合+在持久化属性上执行的业务规则(将它们存储在部分类中)。这将形成通常称为域对象的东西 - 它具有与其数据相关的数据和逻辑。您可以在多个域对象上使用单独的类执行逻辑(因此逻辑不属于对象本身)。这些类通常称为域服务。
答案 1 :(得分:0)
most of the properties in entity and business classes are the same
吗?它应该不是那样的。业务类应该只有业务逻辑而不是实体的属性。业务类将使用实体类来完成业务。
这是一个很好的例子http://code.msdn.microsoft.com/ASPNET-MVC-Application-b01a9fe8/