Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 实体AddObject或SaveChanges_Entity Framework - Fatal编程技术网

Entity framework 实体AddObject或SaveChanges

Entity framework 实体AddObject或SaveChanges,entity-framework,Entity Framework,我想更多地了解实体框架是如何工作的。我有一个MyEntity集合显示在一个组合框中。用户可以通过单击按钮编辑所选项目或添加新项目。在我的视图模型中,如果我只是在MyEntity的一个新对象上点击save changes,我会得到一个错误,但是如果我先添加该对象,那么就可以了。EF是否可以检测到我有了这个新对象并自动添加它,还是总是要显式添加它?实体框架只是一个ORM框架,它无法检测任何东西。您可以使用add()方法将新对象添加到上下文中,然后调用SaveChanges()方法来持久化数据…感谢您

我想更多地了解实体框架是如何工作的。我有一个
MyEntity
集合显示在一个组合框中。用户可以通过单击按钮编辑所选项目或添加新项目。在我的视图模型中,如果我只是在
MyEntity
的一个新对象上点击save changes,我会得到一个错误,但是如果我先添加该对象,那么就可以了。EF是否可以检测到我有了这个新对象并自动添加它,还是总是要显式添加它?

实体框架只是一个ORM框架,它无法检测任何东西。您可以使用add()方法将新对象添加到上下文中,然后调用SaveChanges()方法来持久化数据…

感谢您的回复,检查对象是否在同一函数调用中是新的或存在的最佳方法是什么?好的,这样我就可以测试EntityState:
如果(MyEntity.EntityState==EntityState.Distached)
再次感谢您的回答,它促使我深入挖掘解决方案:)