繁体   English   中英

为SQLite编写验证层的最佳方法是什么

[英]What is the best way to write a validation layer for SQLite

我正在使用SQLite的ADO.net提供程序。 我想引导SQLite的一些“特性”,比如允许整数字段中的字符串,并允许在varchar(n)类型的字段中使用长于n的字符串。 实现这种验证的最佳方法是什么? 存储过程? 触发? 我正在寻找适用于任何数据库而不仅仅是我的数据库模式的通用解决方案。

您可以添加列约束。

create table example
( 
  age integer not null check (typeof(age)='integer'),
  name text not null check (length(name) between 1 and 100),
  salary integer check (salary is null or typeof(salary)='integer')
)

我个人的经验是,你担心的几乎不是问题。 如果是,问题是由于严重错误的代码(将mothermaidenname插入年龄或某事)。 保持“不成问题”的最佳方法是拥有(并使用)有效抽象数据库的良好数据访问层。

在您的c# Domain Model POCO对象中进行验证,而不是在使用DataAnnotations或甚至是此方法之类的SQLite数据库中进行DataAnnotations

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM