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

cds*_*sln 1 .net c# 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(in 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. 实体框架4.3.1 dll在哪里,所以我可以在其他项目中添加对它的引用?

谢谢.

bal*_*dre 6

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

Install-Package EntityFramework -Version 4.3.1
Run Code Online (Sandbox Code Playgroud)

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

在此输入图像描述

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

在此输入图像描述

不要让与混乱System.Data.dll那是数据层的.NET框架,你可以找到很多类来处理数据,喜欢DataRowDataTableADO.NET的一部分.例如...


来自评论:

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

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

EF的版本1 包含在.NET Framework 3.5 SP1中,并被称为"ADO.NET实体框架"(现在它只是实体框架),因此没有单独的dll文件.

  1. 从nuget安装EF 4.3.1
  2. 改变你的项目,处理数据的所有引用使用System.Data使用EntityFramework
  3. 看看发生了什么,并改变编译时遇到问题的每一行

在你的情况下,我会做的更通用:

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