可以为实体实现自定义验证,重写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);
}
}
}

最新文章

  1. OOP过度抽象
  2. OpenCV加载图像并显示
  3. mysql 数据导出 常用总结
  4. 烂泥:kickstart无人值守安装CentOS6.5
  5. HTTP 笔记与总结(6)referer 头与防盗链
  6. HDU 1542 线段树+扫描线+离散化
  7. (转)《深入理解java虚拟机》学习笔记4——Java虚拟机垃圾收集器
  8. XCode中Architecturs配置及常见问题
  9. oracle操作字符串:拼接、替换、截取、查找
  10. robot自动化测试(二)--- template使用
  11. J2SE知识点摘记-数据库(一)
  12. php练习1
  13. springBoot系列--&gt;springBoot注解大全
  14. js截取字符串方法整理slice(), substr(), substring(), split()
  15. iText实现导出pdf文件java代码实现例子
  16. strpos检测字符串是否包含元素
  17. Vue 项目骨架屏注入与实践
  18. 第一讲(3)osgearth编译
  19. css控制英文内容自动换行問題
  20. 如何实现一个IOS网络监控组件

热门文章

  1. VS2010程序崩溃- APPCRASH
  2. .NET架构师必备知识
  3. VS2010编译报错FileTracker error FTK1011
  4. Xamarin.Forms学习之位图(二)
  5. 在Tomcat配置JNDI数据源的三种方式
  6. IO多路复用、协程
  7. Java 线程控制(输出奇偶数)
  8. End to End 端到端
  9. Matlab mser(最大极值稳定区域)
  10. spring mvc 关键接口 HandlerMapping HandlerAdapter