Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Domain driven design 如何在使用域驱动设计时处理实体上的更新/修改_Domain Driven Design_Entity - Fatal编程技术网

Domain driven design 如何在使用域驱动设计时处理实体上的更新/修改

Domain driven design 如何在使用域驱动设计时处理实体上的更新/修改,domain-driven-design,entity,Domain Driven Design,Entity,我们目前正在尝试在基于.NET的应用程序(ASP.NET、WCF、Castle Windsor、NHibernate stack)中应用域驱动设计的原则 问题是在表级别,我们已经更新了(字符串),更新了(日期时间)的订单。订单批准后,我们需要获得更新人,更新时间,以反映批准人姓名和批准日期/时间 你们在应用层做了如下的事情吗?请告知 order=orderRepository.Find(orderId) order.businessLogicCall1() order.businessLogic

我们目前正在尝试在基于.NET的应用程序(ASP.NET、WCF、Castle Windsor、NHibernate stack)中应用域驱动设计的原则

问题是在表级别,我们已经更新了(字符串),更新了(日期时间)的订单。订单批准后,我们需要获得更新人,更新时间,以反映批准人姓名和批准日期/时间

你们在应用层做了如下的事情吗?请告知
order=orderRepository.Find(orderId) order.businessLogicCall1()
order.businessLogicCall2()
订单。更新人(用户名)
orderRepository.Save(订单)

其中,order.updatedBy()调用还将在执行更新时更新内部字段updatedOn的日期/时间。这将由Nhibernate发布到表中,为什么不订购。批准(Anaprover,approvalDate),其中Anaprover是批准它的人?如何在数据库中表示这一点取决于您。 与此正交的是持久性机制,用于保存执行操作的人(可能是最终用户)以及每个受影响的实体。这种存储的商业意义较小。

为什么不订购。批准(Anaprover,approvalDate),其中Anaprover是批准它的人?如何在数据库中表示这一点取决于您。
与此正交的是持久性机制,用于保存执行操作的人(可能是最终用户)以及每个受影响的实体。这种存储的商业意义不大。

是的,你的想法很好,很有道理。因此,当相应的业务操作发生时,我们会更新上次修改的日期。是的,你的想法很好,很有意义。因此,当相应的业务操作发生时,我们更新上次修改的日期。