Entity framework 如何使用Breeze.WebApi.EFContextProvider应用DDD?
我在客户端使用breeze.js,在服务器上使用breeze.WebApi。 我使用方法和域服务构建EF POCO实体。服务器上运行着一些后台进程,它们使用的是业务域 问题是我不确定在使用EFContextProvider在服务器上保存客户端更改时如何使用域方法和服务? 例如: 如果客户端添加新任务并指定此新任务应为每个现有发票(breeze SaveOptions.Tag)生成新操作,则应调用域服务AddActionsToInvoices向现有发票添加必要的操作。最后,新任务和所有新操作应在同一事务中保存Entity framework 如何使用Breeze.WebApi.EFContextProvider应用DDD?,entity-framework,domain-driven-design,breeze,Entity Framework,Domain Driven Design,Breeze,我在客户端使用breeze.js,在服务器上使用breeze.WebApi。 我使用方法和域服务构建EF POCO实体。服务器上运行着一些后台进程,它们使用的是业务域 问题是我不确定在使用EFContextProvider在服务器上保存客户端更改时如何使用域方法和服务? 例如: 如果客户端添加新任务并指定此新任务应为每个现有发票(breeze SaveOptions.Tag)生成新操作,则应调用域服务AddActionsToInvoices向现有发票添加必要的操作。最后,新任务和所有新操作应在同
一般来说,为了能够使用域,我需要确保在调用域方法时完全获取聚合根,并且在最后保留所有更改。这是一个非常开放的问题。我想我理解您的一般观点,即至少有些保存比在数据库中存储更改的数据更有效。它们本身就是业务流程,恰好也保存数据 您可以尝试通过一个“SaveChanges”Web API方法来运行所有这些。但这感觉不对。很快,您的
SaveChanges
方法就变成了助手方法的巨大调度器
你看过吗?该功能是为您的场景设计的。我认为这比发送一个“标记”并尝试根据标记值分派到适当的服务器端方法要好得多