我有一个作为 Windows 服务运行并读取文本数据文件的应用程序,然后将文件内容映射到数据库。该应用程序使用批量提交,并且数据会定期大于数据库字段。
在尝试将数据字段保存到数据库之前验证数据字段不会太大的最佳方法是什么?
最佳答案
如果你愿意用System.ComponentModel.DataAnnotations你可以做这样的事情。
public class Customer
{
[StringLength(5)]
public string Name { get; set; }
[StringLength(20)]
public string Phone { get; set; }
[StringLength(30)]
public string Email { get; set; }
[StringLength(30)]
public string Address { get; set; }
}
class Program
{
static void Main(string[] args)
{
Customer c = new Customer
{
Name = "FooBarX",
Phone = "555-5555-33 ext 234",
Email = "foobar@foobar.com",
Address = "1334 foobar ave, foobar CA"
};
var ctx = new ValidationContext(c, null, null);
Validator.ValidateObject(c, ctx,true);
Console.Read();
}
}
Validator.ValidateObject在这种情况下将抛出异常,因为 Name 字段太大,这是由 StringLength
属性强制执行的。
您还可以使用 Validator.TryValidateObject这将返回一个错误列表而不是抛出异常。
验证框架非常强大。您可以对字符串使用正则表达式验证。数字字段的范围验证,甚至自定义验证。
关于c# - 保存到数据库时验证数据字段是否太大?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12324962/