【发布时间】:2013-06-15 17:17:40
【问题描述】:
背景 - 我通常在实体类本身的属性级别执行验证,使用DataAnnotation 属性或通过实现IValidatableObject 接口。此代码通常无法访问DBContext。
然后,我通常将更复杂的业务规则验证放在服务层中。此类验证的示例包括:检查一个值在数据库中是否唯一,以及检查其他实体值。这些类确实需要DBContext 来查询数据库。
问题 - 我的问题是我最终在服务层中重复了相同的代码。例如,当我插入和更新一个实体时,我会重复相同的代码来检查给定值是否唯一。
我阅读了一些设计模式,例如约束、策略和规范。我想我只需要一点帮助就可以将它们放在一个 EF 分层上下文中。非常感谢。
【问题讨论】:
-
你有仓库吗?
-
好吧,当您使用
BaseRepository<TEntity>时,问题似乎可以解决。
标签: c# winforms entity-framework entity-framework-5