EF Code First数据提交前进行模型验证/数据验证

来源:互联网 发布:虚拟主机织梦cms安装 编辑:程序博客网 时间:2024/05/23 00:41

1.执行sql前数据验证,如果失败抛出异常,验证失败信息,在注释方法中可以自定义

/// <summary>/// 模型验证/// </summary>public bool IsValided<T>(T model) where T : class{    DbEntityValidationResult vResult = Context.Entry<T>(model).GetValidationResult();    if (vResult == null)        return true;    if (vResult.IsValid)        return true;    StringBuilder builder = new StringBuilder();    foreach (DbValidationError item in vResult.ValidationErrors)    {        builder.Append("出错字段:" + item.PropertyName);        builder.Append("<br/>");        builder.Append("错误描述:" + item.ErrorMessage);        builder.Append("<br />");    }    throw new Exception("数据验证失败," + builder.ToString());}

2.自定义验证失败,异常信息

        [StringLength(32,ErrorMessage ="最大长度为32")]        public string UpperCase32 { get; set; }


0 0