我在客户端使用breeze.js,在服务器使用Breeze.WebApi。我使用方法和域服务构建我的 EF POCO 实体。服务器上运行着一些后台进程,它们使用业务域就好了。
问题是我不确定在使用 EFContextProvider 在服务器上保存客户端更改时如何使用域方法和服务?
例如:如果客户端添加了一个新任务并指定这个新任务应该为每个现有发票生成新的操作(breeze SaveOptions.Tag),那么应该调用域服务 AddActionsToInvoices 以将必要的操作添加到现有发票。最后,新任务和所有新操作应在同一事务中保存。
通常,为了能够使用域,我需要确保在调用域方法时完全获取聚合根,并且最后保留所有更改。