gpt4 book ai didi

c# - 当验证需要数据库时,BL 与 DAL

转载 作者:太空宇宙 更新时间:2023-11-03 13:41:57 32 4
gpt4 key购买 nike

我计划将验证逻辑放在业务逻辑层中,其中可能包括:

[Required], [Length > 0] 等。使用数据注释。但是,我还需要一个验证规则,在将 DAL 插入数据库之前检查对象是否重复,例如[IsDuplicate]。那么,问题是,在哪里放置 [IsDuplicate] 验证规则?如果我把它放在我的 BL 中,那么这将违反我当前的 3 层设置,其中 BL 不知道 DAL。我想真正的问题是,检查重复项是否被视为验证规则或其他?

最佳答案

你应该检查两次。

一旦在 BL 中向用户显示一条普通消息,说明他输入了一个已经存在的值。

第二次,您应该在 DAL 中检查您没有尝试插入唯一值(就像数据库中的 UNIQUE CONSTRAINT 所做的那样),因为在这种情况下您不知道谁会使用它抛出一个可以被使用你的 DAL 层的新人理解的自定义异常。

关于c# - 当验证需要数据库时,BL 与 DAL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16725763/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com