c#中的参数验证,存储过程和数据访问层

jim*_*jim 2 c# sql-server asp.net stored-procedures

我使用三层架构,c#和sql server数据库作为数据源.根据DRY负责人的说法,验证应该只在一个地方完成,在我的情况下是前端数据访问层或数据库存储过程.

所以我想知道是否验证数据访问层中的存储过程参数或将其留给存储过程本身?

Ode*_*ded 6

DRY是一个重要原则,但深度防守也是如此.

在验证输入时,必须确保它是安全的 - 这应该在每个级别上完成(因此在DAL和存储过程中都是如此).

至于验证业务逻辑的数据,这应该在您的业务逻辑层(BLL)中.