Entity FrameWork 4.x

使用强类型的Include显式预加载
摘要: 大家都知道用以下方式显式预加载其他的SubEntity吧:Include("SubEntity1")对于有嵌套的情形Include("SubEntity1.SubSubEntity1")但是推荐使用以下方式,原因不言自明:using System.Data.Entity...Include(i=>i.SubEntity1)对于有嵌套的情形(本文重点)Include(i=>i.SubEntity1.Select(j=>j.SubSubEntity1))以上代码EF4.3调试通过。阅读全文

posted @ 2012-03-27 12:11 jlzhou 阅读(218) | 评论 (8) 编辑

关闭EF4.x Code First的级联删除Cascade Delete
摘要: EF4.1~4.3 Code First模式级联删除是默认打开的,在同一个实体多次引用另一个实体时,需要单独设置关闭某个外键关系下的级联删除,需要写Fluent API代码,而且级联删除有时会造成麻烦。干脆整个关了吧:usingSystem.Data.Entity.ModelConfiguration.Conventions;publicclassMyDbContext:DbContext{protectedoverridevoidOnModelCreating(DbModelBuildermodelBuilder){modelBuilder.Conventions.Remove<One阅读全文

posted @ 2012-03-13 19:08 jlzhou 阅读(325) | 评论 (2) 编辑

关于Entity Framework 4.0/4.1数据验证的一点体会
摘要: 最近用Entity Framework 4.1做一个MVC3的网站应用的数据层,遇到一个问题,在修改或添加实体属性的验证后,对数据库中已经存在的数据编辑会有影响,即使当前的编辑操作没有涉及到修改验证规则的项,在SaveChanges()也会抛出异常。比如说,有如下类定义:publicclassUser[代码]相应的验证定义:[代码]}如果上述定义中的[RegularExpressionAttrib...阅读全文

posted @ 2011-05-19 11:20 jlzhou 阅读(727) | 评论 (3) 编辑