我们正在使用EF 4.0和代码优先方法。我使用属性StringLength为属性长度定义了约束。我的印象是,使用比指定约束更长的数据跟踪实体的Context的SaveChanges将抛出验证异常。 但不幸的是,它没有发生。如果我在SaveChanges之前执行GetValidationErrors(),我看到预期的错误。有人能说清楚这些东西应该如何运作吗?
更新:找到问题所在。为了追踪将受SaveChanges影响的实体,我们使用DBContext的底层ObjectContext(通过IObjectContextAdapter)。已经为ObjectContext调用了SaveChanges,当我切换到DBContext.SaveChanges问题时已经解决。
答案 0 :(得分:1)
找到问题所在。为了追踪将受SaveChanges影响的实体,我们使用DBContext的底层ObjectContext(通过IObjectContextAdapter)。已经为ObjectContext调用了SaveChanges,当我切换到DBContext.SaveChanges问题时已经解决。