Entity framework EF 4.3.1与VS 2011

Entity framework EF 4.3.1与VS 2011,entity-framework,edmx,Entity Framework,Edmx,我需要知道是否有可能在VS 2011中开始使用最新版本的EF(4.3.1),而不必按照说明安装这些CTP组件 我安装了这些组件,但我删除了它们,从那以后,我无法向.NET4目标项目添加新的edmx文件;它抱怨缺少对System.Data.Entity的引用 我需要重新安装VS 2011吗?是的,使用.net 4时应该不会出现问题,但是使用.net 4.5时有一个已知问题列表。您无需重新安装vs即可获得entity framework的4.3.1版,只需从nuget软件包库中安装即可,如果您使用的

我需要知道是否有可能在VS 2011中开始使用最新版本的EF(4.3.1),而不必按照说明安装这些CTP组件

我安装了这些组件,但我删除了它们,从那以后,我无法向.NET4目标项目添加新的edmx文件;它抱怨缺少对System.Data.Entity的引用


我需要重新安装VS 2011吗?

是的,使用.net 4时应该不会出现问题,但是使用.net 4.5时有一个已知问题列表。您无需重新安装vs即可获得entity framework的4.3.1版,只需从nuget软件包库中安装即可,如果您使用的是.net 4,则一切似乎都正常

在.net 4.5上安装EF4.3.1时列出的问题包括以下列出的问题


Entity Framework 4.x和.NET Framework 4.5的已知问题 实体框架4.1至4.3在 EntityFramework程序集中的System.ComponentModel.DataAnnotations命名空间。 在.NET4.5中,这些注释被移动到.NETFramework的 的System.ComponentModel.DataAnnotations.Schema命名空间 System.ComponentModel.DataAnnotations.dll程序集。如果您使用的是EF 4.x和目标 .NET 4.5这将导致在不同程序集中使用相同名称的两个数据批注。 因为.NET Framework中的注释位于不同的名称空间中,所以我们没有这样做 能够使用类型转发来避免此冲突

可以在.NET4.5上使用EF4.x,但我们建议使用最新的预发行版 EF5的版本。如果不使用受影响的数据批注,则不会产生任何影响 在你的代码上。如果在C#项目中使用数据注释,则可以使用extern 修改器,以确保代码使用EntityFramework.dll中的注释 (http://msdn.microsoft.com/en-us/library/e59b22c5(v=VS.80).aspx)。如果你使用新的 来自.NET 4.5中System.ComponentModel.DataAnnotations.dll程序集的批注 它们不会首先由代码处理

受影响的注释包括:

  • 纵队
  • 复合型
  • 数据库生成
  • 数据库生成选项
  • 外侨
  • 逆属性
  • 最大长度
  • 最小长度
  • 未映射
  • 桌子

在我删除并重新安装Visual Studio后,我仍然无法获得错误的红色信息,因此我使用process monitor记录Visual Studio使用
System.Data.Entity
执行的操作,作为路径筛选器,结果证明Visual Studio正在从中读取

C:\Windows\Microsoft.NET\assembly\GAC_MSIL\policy.4.0.system.data.entity v4.0_0.0.0.0_uuuB77A5C561934E089\policy.4.0.system.data.entity.config

这对法律有约束力

System.Data.Entity.dll v 4.2.0.0


一旦我清除了文件,VS的工作就非常出色


CTP卸载忽略了这一点。

谢谢,我之前就给了它,但不幸的是它不起作用,在我删除WCF DS CTP和EF 2011年6月CTP后,我无法再添加edmx文件,无论是在VS 2010还是2011中,我都找不到System.Data.Entity.dll 4.2.0.0,由于某些原因,VS并不专注于查找此dll。哦,您是否正在将EF包安装到计算机上?您只需要使用Nuget引用它,Nuget将下载特定版本并将其添加到您的项目中