我的项目中安装了哪个版本的Entity Framework?

时间:2015-10-16 09:04:46

标签: c# .net entity-framework entity-framework-4 entity-framework-4.3

我刚刚使用Nuget在我的项目中安装Entity Framework 4.3.1。 当我检查引用时,他们说System.Data.Entity是版本4.0.0。运行时版本为v4.0.30319

  1. 这对EF版本4.3.1是否正确?我以为它会说4.3.1 ..?

    当我检查引用的dll的目录(在C:\Program Files..\.NETFramework\v4.0\System.Data.Entity.dll中)时,文件的日期是18/03/2010

    根据WikiPedia:

      

    版本4.3.1于2012年2月29日发布

  2. 难道这不是指文件的日期应该接近2012年吗?

    当我使用Nuget Get-Package时,它说安装的版本是4.3.1,但我不想使用Nuget在其他项目上安装EF 4.3.1。

  3. Entity Framework 4.3.1 dll在哪里,我可以在其他项目中添加对它的引用?

  4. 感谢。

2 个答案:

答案 0 :(得分:6)

在项目中安装Entity Framework时,如下:

Install-Package EntityFramework -Version 4.3.1

您最终将得到一个EntityFramework.dll文件,如果您打开其属性,则该文件将具有在安装命令中指定的确切版本:

enter image description here

并且,如果双击项目中的引用,您将看到相同的内容:

enter image description here

不要System.Data.dll混淆,DataRow是.NET Framework的data layer,您可以在其中找到许多用于处理数据的类,例如DataTable和例如,dll ADO.NET的一部分......

来自评论:

  

安装4.3.1后,如何迁移项目以使用新版本?

第一个版本和4.x之间存在很大的差异,您将有一些改变代码的工作,但这是您需要做的事情:

EF was included in .NET Framework 3.5 SP1的第1版,被称为" ADO.NET实体框架" (现在它只是Entity Framework)所以没有单独的System.Data文件。

  1. 从nuget
  2. 安装EF 4.3.1
  3. 更改项目中使用数据的所有引用,以使用EntityFramework来使用 [MISCELLANEOUS] # List of note tags to take in consideration, separated by a comma. notes=FIXME,XXX,TODO
  4. 了解正在进行的操作并更改编译时遇到问题的每一行
  5. 在你的情况下,我会做的更通用:

    1. 我会创建一个新的Library项目,我将在其中安装EF
    2. 然后我将使用EF和db schema的当前备份
    3. 创建一个存储库
    4. 我还会创建一个测试项目并在项目周围进行一些测试,例如调用添加和更新内容
    5. 一切正常后,我会替换所有原始数据调用以使用新的存储库(使用EF 4)并测试整个项目......

答案 1 :(得分:2)

从您的项目中扩展参考部分并检查属性应该显示实体框架的版本。