c# - 企业库验证 block

标签 c# asp.net validation architecture enterprise-library

我刚刚开始使用我认为很棒的 MS 验证 block 。但有几个关于层间数据验证的问题。

目前我正在使用存储库模式作为连接到我的数据访问层的桥梁。在我的逻辑层中,我正在填充我的业务对象,然后在将其传递到我的存储库层之前使用验证 block 进行验证,存储库层又将其传递到数据访问层以进行插入。我应该在存储库中再次验证它吗?如果是这样,我是否再次验证使用该 block ,或者是否有更好的方法在这个级别上进行验证?

最佳答案

只要您使用分层架构,其中对存储库的所有调用都通过业务层,您就不必在存储库中再次验证它。

但是,如果存储库正在被不通过您的业务层的其他系统使用,则您需要在存储库层对其进行验证。

但是,这实际上会违反 DRY Do Not Repeat Yourself 原则。

因此,如果您需要在存储库中进行验证,则不应在业务层中也进行验证。

关于c# - 企业库验证 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4877603/

相关文章:

c# - 将行添加到数据库中,获取 ID 并填充第二个表

c# - 如何在 UWP 应用程序中检查 Windows 10 操作系统版本以消除 WACK 测试失败?

ruby-on-rails - Rails 表单在验证错误后呈现错误的 URL(不保留传递的参数)

php - 根据项目类型自动计算输入日期

jQuery 停止表单提交

c# - 使用 Entity Framework 6 在数据库中查找等效的嵌套对象

c# - 如何使用转换器将可观察集合绑定(bind)到 Canvas

asp.net - 未找到主题名称 CN=IdentityTKStsCert 的证书

Asp.net 4.0 UpdatePanel错误: Sys. WebForms.PageRequestManagerServerErrorException:从服务器返回的状态代码为:12002

c# - SqlDataSource OnInserted 过早触发