在插入数据库之前,我需要验证数据。我的网站从excel获取数据,将数据复制到sql server中。但是现在我需要在此之前验证数据 并留下错误消息,因为数据库的结构。 我需要帮助和一些指导。我是新手,请
答案 0 :(得分:0)
有两种方法可以验证数据,并且可能需要结合使用excel文件和过程。由于最终需要创建一个对象来保存数据,因此可以实施的简单解决方案是利用框架中的 System.ComponentModel.DataAnnotations
命名空间。这使您都可以访问验证属性,例如[Required]
,[Email]
等(也可以扩展和创建自定义验证)。
简单解决方案(利用框架):添加属性时,这基本上是MVC,EF和其他框架所做的事情。
private Tuple<bool, IEnumerable<ValidationResult>> ValidateAnnotations(object model)
{
var context = new ValidationContext(model, serviceProvider: null, items: null);
var validationResult = new List<ValidationResult>();
var isValid = Validator.TryValidateObject(model, context, validationResult, validateAllProperties: true);
return new Tuple<bool, IEnumerable<ValidationResult>>(isValid, validationResult);
}
注意:这是处理手动验证以及属性驱动的odetocode
的另一种方法就流程而言;从excel解析后,您基本上可以验证每行数据,并为sql插入生成有效条目的列表,为错误报告生成无效条目的列表。