Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.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
Asp.net mvc MVC EDMX Codebehind使用的是ObjectContext与DBContext_Asp.net Mvc_Entity Framework - Fatal编程技术网

Asp.net mvc MVC EDMX Codebehind使用的是ObjectContext与DBContext

Asp.net mvc MVC EDMX Codebehind使用的是ObjectContext与DBContext,asp.net-mvc,entity-framework,Asp.net Mvc,Entity Framework,我是EF的新手。我的模型有一个单独的项目。我已经安装了EF 4.3.1.0。我看到上下文的基类是ObjectContext,而不是DbContext。当我在前端项目中构建控制器时,这会成为一个问题,在编辑操作中,它会调用 context.Entry(status).State = EntityState.Modified; 但入境情况不详。我发现这个条目是DbContext的新条目 如何让生成的代码生成正确的内容 这是DB First项目必须在Visual Studio中将应用于EDMX模型

我是EF的新手。我的模型有一个单独的项目。我已经安装了EF 4.3.1.0。我看到上下文的基类是ObjectContext,而不是DbContext。当我在前端项目中构建控制器时,这会成为一个问题,在编辑操作中,它会调用

context.Entry(status).State = EntityState.Modified; 
但入境情况不详。我发现这个条目是DbContext的新条目

如何让生成的代码生成正确的内容

这是DB First项目

必须在Visual Studio中将应用于EDMX模型。可以从Visual Studio扩展管理器安装生成器模板

安装模板后,请按照本文第4点下的步骤进行操作:

(将文章中的“ADO.NET DbContext Generator”替换为已安装的“EF 4.x DbContext Generator”,这是EF 4.3.1的最新重命名版本)


该模板将从您的EDMX模型生成POCO类和派生的
DbContext

看看这篇文章“这将允许您在不做任何更改的情况下继续使用现有代码。”。我发现,虽然新上下文是基于DbContext创建的,但旧的上下文定义仍然保留在edmx codebeahind designer.cs文件中。结果,我所有的对象/表在编译时都出现了被重新定义的错误。@Jeff:真奇怪。在EDMX设计器界面中使用“添加代码生成项…”时,实际上应清空designer.cs文件(自动生成的注释除外)。您是否在同一项目/组件中拥有所有内容?也许会问一个关于这个问题的新问题,我不知道这种混乱是怎么发生的。我的模型在一个单独的项目中。