在插入数据库C#之前如何验证数据?

时间:2018-10-08 17:48:13

标签: c# asp.net excel model-view-controller

在插入数据库之前,我需要验证数据。我的网站从excel获取数据,将数据复制到sql server中。但是现在我需要在此之前验证数据 并留下错误消息,因为数据库的结构。 我需要帮助和一些指导。我是新手,请

1 个答案:

答案 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插入生成有效条目的列表,为错误报告生成无效条目的列表。