我在Asp net mvc中有一个项目。称为产品的实体不能具有相似的标题。因为我遵循存储库模式,哪里是检查重复的最佳位置?
我可以在控制器中完成它,但它会导致一个胖控制器。
答案 0 :(得分:1)
我认为您正在使用数据库服务器?在DB列上添加唯一约束。在存储库或控制器中执行此操作会引入并发问题(另一个事务,由于尚未提交,您无法看到,可能已经插入了重复值)。约束可以看出这一点。
答案 1 :(得分:1)
如果这是一个非常严格的规则,那么建议使用数据库约束来支持它 - 这将使代码停止运行并确保没有漏洞通过。
只要在代码中强制执行规则,您目前如何处理验证?这绝对属于这一类。