vs2012 mvc3项目ObjectContext与DBContext

vs2012 mvc3项目ObjectContext与DBContext

2013-01-07 16:21:47

安装好vs2012,开始学习vs2012下的mvc,可是在2010下熟悉的上下文基类ObjectContext不见了,取而代之的是DBContext,很是奇怪,一些熟悉的方法不见了,如:实体对象的Attach方法,上下文的ObjectStateManager对象,都不见了,奇怪,如何让上下文对象继承ObjectContext而不是DBContext,只能查资料了。
百度了一天中文资料,没有找到,于是上谷歌搜英文资料,终于会找到了解决的方法,问题解决了。
 
问题:
We move some projects from VS2010 to VS2012 but still using .NET 4.0 and not .NET 4.5
When I add an new EDMX, VS2012 use EF 5.0 but I’d like continue to use the version 4.x it’s the first point.
Second point the version 5.0, inherit from DbContext and not ObjectContext like version 4.x. With the version 5.0 I don’t see any way to pass the connection string as parameter.
How can I use version 4.x in VS2012, with the same EDMX designer behavior ?
从老外的问题中可以看出,使用DBContext时,需要替换连接字符串还是个问题呀,下面看看解决的办法吧:
 
解决办法:
As mentioned in the comments, you’re really getting EF 4.4, not EF 5.0. However, confusingly, EF 4.4 in contained in the NuGet EntityFramework 5.0 package.
For your other question, you can open the EDMX in the designer, restore “Code generation strategy” from “None” to “Default”, then in the solution explorer, remove the .tt files. Now you’ll have yourObjectContext again, and if you wish, you can remove the EntityFramework package from your project.
I’m not sure if there’s any way to change this default behaviour of adding the NuGet package.
 
很简单了只需要在设计视图中打开EDMX文件,在属性面板中将“代码生成策略”改为“默认”,然后将解决方案管理器中的“.tt”文件删除,在查看.designer.cs文件,已经有生成的代码了,并且父类已经是ObjectContext了,一切问题都OK了。

时间: 2024-11-06 11:45:51

vs2012 mvc3项目ObjectContext与DBContext的相关文章

1、vs2012 mvc3项目ObjectContext类找不到的问题

在vs2012下找不到ObjectContext类,取而代之的是DBContext,实体对象的Attach方法,上下文的ObjectStateManager对象都找不到,解决办法: 在设计视图中打开EDMX文件,在属性面板中将“代码生成策略”改为“默认”,然后将解决方案管理器中的“.tt”文件删除,在查看.designer.cs文件,已经有生成的代码了,并且父类已经是ObjectContext了,一切问题都OK了. 1.vs2012 mvc3项目ObjectContext类找不到的问题

[MVC]VS2010安装ASP.NET MVC4 造成 ASP.NET MVC3项目有问题

前几天想说使用VS2010来开发ASP.NET MVC4的项目,所以就安装了ASP.NET MVC4 Installer(Visual Studio 2010). 使用VS2010开发ASP.NET MVC4粉OK! 再用VS2010开启ASP.NET MVC3的项目时,切到VIEW画面时,居然出现一堆 @Html 不认得的错误,下面的毛毛虫一堆. 只好把ASP.NET MVC4 Installer(Visual Studio 2010)移除,ASP.NET MVC3也都移除后重装ASP.NET

在ASP.NET MVC3项目中,自定义404错误页面

在Web开发中,用户体验是至关重要的,一个友好的网站自然少不了自定义404错误页面. 让笔者为大家介绍404错误页面在ASP.NET MVC3项目中的配置: 第一步,在项目的Web.config文件中找到节点<system.web> 在此节点下添加配置        <customErrors mode="On" defaultRedirect="~/Index/Error404">          <error statusCode

安装asp.net mvc4后mvc3项目编译报错

安装asp.net mvc4之后,之前的mvc3项目编译时报这个错“The type System.Web.Mvc.ModelClientValidationRule exists in both c:\Program Files\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies\System.Web.Mvc.dll and c:\Program Files\Microso...” 重新安装mvc3也许可以解决这个问题,不过还会覆盖mvc4的配置,可以通过修改

VS2012新建项目出错:未找到与约束ContractName Microsoft.VisualStudio.Text.ITextDocumentFactoryService

刚刚重新做的系统,第一次打开vs2012新建项目时出现错误提示 通过查找解决办法发现方法有两种: 1:卸载两个windows更新补丁(KB2833957和KB2840642) 2:安装一个windows更新补丁(KB2781514) 最终选择尝试方法2安装更新补丁,成功解决. 下载地址  https://www.microsoft.com/zh-cn/download/details.aspx?id=36020

百度Web富文本编辑器ueditor在ASP.NET MVC3项目中的使用说明

====================================================================== [百度Web富文本编辑器ueditor在ASP.NET MVC3项目中的使用说明] ----by 夏春涛 2014-02-20 ====================================================================== 运行环境: ueditor-v1.3.6-utf8-net,VS2010旗舰版+SP1,

VS2010 打开 VS2012 的项目

用 VS2010 打开 VS2012 项目,只需两步. 1. 修改解决方案文件(*.sln) 使用记事本打开 *.sln 文件,将里面的 Microsoft Visual Studio Solution File, Format Version 12.00# Visual Studio 2012 Project 修改为 Microsoft Visual Studio Solution File, Format Version 11.00# Visual Studio 2010 Project 2

将VS2012的项目转化成VS2010

VS2012生成的项目,如何在只装有VS2010的电脑上打开, 步骤: 1.打开一个记事本,将你的Vs2012生成的项目解决方案文件(.sln文件)文件拖到记事本中 2.修改前两行 Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2012 替换为 Microsoft Visual Studio Solution File, Format Version 11.00# Visual Studio

Win7上的ASP.NET MVC3项目在Win10上运行的一个坑

先解释一下问题:我原来的电脑环境是Win7+VS2015,因为新换了个电脑环境变成Win10+VS2015了,所以就把原先的项目复制到新的机器上,那么问题来了,原先的一个项目在VS2015上打开竟然直接报错(注意:这里不是发布到IIS上,就是直接用VS中F5运行).报的错很常见,但是一般的解决办法都不试用,解决可是废了老大劲儿了. 未能加载文件或程序集"System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31b