EntityFramework 学习 一 Validate Entity
2024-08-25 18:42:58
可以为实体实现自定义验证,重写DBContext中的个ValidateEntity方法
protected override System.Data.Entity.Validation.DbEntityValidationResult ValidateEntity(DbEntityEntry entityEntry, System.Collections.Generic.IDictionary<object, object> items)
{
if (entityEntry.Entity is Student)
{
if (entityEntry.CurrentValues.GetValue<string>("StudentName") == "")
{
var list = new List<System.Data.Entity.Validation.DbValidationError>();
list.Add(new System.Data.Entity.Validation.DbValidationError("StudentName", "StudentName is required")); return new System.Data.Entity.Validation.DbEntityValidationResult(entityEntry, list);
}
}
return base.ValidateEntity(entityEntry, items);
}
try
{
using (var ctx = new SchoolDBEntities())
{
ctx.Students.Add(new Student() { StudentName = "" });
ctx.Standards.Add(new Standard() { StandardName = "" }); ctx.SaveChanges();
}
}
catch (DbEntityValidationException dbEx)
{
foreach (DbEntityValidationResult entityErr in dbEx.EntityValidationErrors)
{
foreach (DbValidationError error in entityErr.ValidationErrors)
{
Console.WriteLine("Error Property Name {0} : Error Message: {1}",
error.PropertyName, error.ErrorMessage);
}
}
}
最新文章
- OOP过度抽象
- OpenCV加载图像并显示
- mysql 数据导出 常用总结
- 烂泥:kickstart无人值守安装CentOS6.5
- HTTP 笔记与总结(6)referer 头与防盗链
- HDU 1542 线段树+扫描线+离散化
- (转)《深入理解java虚拟机》学习笔记4——Java虚拟机垃圾收集器
- XCode中Architecturs配置及常见问题
- oracle操作字符串:拼接、替换、截取、查找
- robot自动化测试(二)--- template使用
- J2SE知识点摘记-数据库(一)
- php练习1
- springBoot系列-->;springBoot注解大全
- js截取字符串方法整理slice(), substr(), substring(), split()
- iText实现导出pdf文件java代码实现例子
- strpos检测字符串是否包含元素
- Vue 项目骨架屏注入与实践
- 第一讲(3)osgearth编译
- css控制英文内容自动换行問題
- 如何实现一个IOS网络监控组件