对于一个干净的数据模型,我会来回讨论这个......
以审批工作流程为例,假设在我的 Web 应用程序中,我有一个页面,可让用户标记MyEntityObject
需要批准。MyEntityObject
有一些控制其审批工作流程的属性,因此我有一个通用的实用方法,称为FlagForApproval(MyEntityObject eo)
.
应该page call 批准标志()仅设置必要的属性,然后调用保存更改()当它准备好或应该时批准标志()保存更改吗?
让实用程序方法保存更改似乎比要求做的要多一点(如果这只是一系列操作中的一个步骤怎么办?),但同时,使页面调用 SaveChanges() 并提交将数据传输到数据库似乎可以被认为与数据层职责太接近。
想法?
(更新:FWIW,到目前为止,我一直有实用程序方法调用 SaveChanges(),这样页面只有一组异常需要处理,无论是验证还是数据。)
我目前对此问题的看法是始终让业务逻辑层在验证数据后调用保存更改。当用户单击“保存”按钮时,我将需要验证的任何实体传递给 BLL,并由它决定是否 SaveChanges()。
我和你一样好奇,想看看其他人怎么说,因为自从我开始使用 EF 以来,这个问题(以及许多其他问题)一直困扰着我。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)