对于一个清洁的数据模型,我对此反复思考......
以批准工作流为例,假设在我的 Web 应用程序中有一个页面,允许用户标记一个需要批准的 MyEntityObject
。 MyEntityObject
有一些控制其批准工作流程的属性,因此我有一个通用的实用方法叫做 FlagForApproval(MyEntityObject eo)
。
应该让页面调用FlagForApproval()仅设置必要的属性,然后在准备好时调用SaveChanges(),还是FlagForApproval()保存更改?
让实用程序方法保存更改似乎比被要求做的多一点(如果它只是一系列操作中的一步呢?),但同时,让页面调用 SaveChanges() 并将数据提交到 DB 看起来可能被认为太接近数据层的职责。
你有什么想法吗?
(更新:值得一提的是,到目前为止,我一直让实用程序方法调用 SaveChanges(),这样页面只需要处理一个异常集,无论是验证还是数据。)