Entity framework &引用;存根法;应用于EF CF是否需要填充所有[必需]字段?

Entity framework &引用;存根法;应用于EF CF是否需要填充所有[必需]字段?,entity-framework,Entity Framework,我真的很高兴找到所谓的“存根方法”来保存更新时的数据库查找(以及其他内容)。但是,当我尝试它时,只是在存根上填充了主键字段,其他什么都没有,在SaveChanges()上抛出的DbEntityValidationException中出现了一大堆验证错误。他们中的大多数人都抱怨没有指定必填字段,但我想我也会被引用完整性问题困扰 我曾经(错误地?)假设存根方法是EF的一种方法,1)知道根据主键更新哪个实体,2)我不需要重新加载所有其他我没有更新的字段,3)只更新我实际更新的字段 我现在很确定我误解了

我真的很高兴找到所谓的“存根方法”来保存更新时的数据库查找(以及其他内容)。但是,当我尝试它时,只是在存根上填充了主键字段,其他什么都没有,在SaveChanges()上抛出的DbEntityValidationException中出现了一大堆验证错误。他们中的大多数人都抱怨没有指定必填字段,但我想我也会被引用完整性问题困扰

我曾经(错误地?)假设存根方法是EF的一种方法,1)知道根据主键更新哪个实体,2)我不需要重新加载所有其他我没有更新的字段,3)只更新我实际更新的字段

我现在很确定我误解了。糟糕的是,存根方法是一个很酷的概念

如果这都是真的,那么在更新对象之前,我是否必须首先检索对象


(http://blogs.msdn.com/b/alexj/archive/2009/06/19/tip-26-how-to-avoid-database-queries-using-stub-entities.aspx)存根方法是一个很酷的概念,但EF中的验证不是。这两件事不在一起。要么使用具有所有有效数据和验证的完整实体,要么使用存根方法和其他未经验证的改进

您可以通过调用以下命令来关闭验证:

context.Configuration.ValidateOnSaveEnabled = false;

我就是这么想的。感谢您提供有关在EF中关闭验证的信息。关闭验证是否也会阻止外键问题(即,不将键设置为可接受的值)?也就是说,如果我只更改简单属性,而不填写引用,我还可以吗?你提到“其他改进”-想分享一些链接或文章吗?:-)