如何手工将Entity Framework 4.0升级到5.0

 我来答
匿名用户
2015-03-29
展开全部
  第一步:从NuGet安装Entity Framework 5.0
  首先,对现有的EF4.0项目,什么都不要改,也不要删。直接从NuGet安装EF5。如果你是.NET4的项目,那实际上安装的是4.4版的DLL,所以EF5的枚举类型是不可以用的。如果你已经升级了.NET4.5,那就是完完全全的EF5。

  NuGet会自动给你添加引用以及配置相关的config文件。

  第二步:更新EDMX

  打开现有的EDMX文件,在空白处点击右键,选择“Add Code Generation Item”

  新版EF是用T4模板来生成一个个实体类的,而4.0中是撸在一个edmx里的,所以我们要选择一种模板,这里明显只有一种可选:

  EF 5.x DbContext Generator

  然后,VS会弹好几个对话框,问你敢不敢运行生成脚本。显然我们要确认运行。VS一顿小撸之后,你的新版EF实体类就生成好了:

  第三步:更新CUD方法

  现在,你的程序肯定编译不过。因为EF4.0以后,增、删、改的API变了。所以我们要对旧代码做一些改动。

  1. 插入操作:现在使用 context.类型.Add(具体对象) 来完成

  2. 删除操作:现在使用 context.类型.Remove(具体对象) 来完成

  3. 更新操作:现在不需要Attach了,使用 context.Entry(具体对象).State = System.Data.EntityState.Modified 来完成

  4. 如果你还需要ObjectSet<T>类型,必须通过一个适配器来强撸:

  (context as IObjectContextAdapter).ObjectContext.CreateObjectSet<类型>();

  再次编译程序,应该就可以用了~
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式