确定我正在使用的实体框架的版本?

我相信有两个版本1和2? 和版本2被称为实体框架4.0?

如何判断应用程序中使用的是什么版本?

这是在我的 web.config 中,这是否意味着我正在使用版本2?

<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
138773 次浏览

有两个版本: 1和4。EFv4是。4.0,而 EFv1是。网页3.5 SP1。

是的,上面的配置设置指向 EFv4/. net 4.0。

剪辑 如果您打开引用文件夹并找到 system.data.entity,单击该项目,然后在 Properties 资源管理器中检查运行时版本号,您也将看到子版本。例如,我的版本显示运行时版本 v4.0.30319,Version 属性显示4.0.0.0。EntityFramework.dll也可以以这种方式查看。只有 Version 将是4.1.0.0,运行时版本将是 v4.0.30319,其中指定它是。NET 4组件。或者,您可以打开 Path 属性中列出的文件位置,右键单击有问题的组件,选择属性,然后选择“详细信息”选项卡并查看产品版本。

如果打开 reference 文件夹并找到 system.data.tity,单击该项,然后在 Properties 资源管理器中检查运行时版本号,您也将看到子版本。例如,我的版本显示的是 v4.0.30319,Version 属性显示的是4.0.0.0。

回答你问题的第一部分: 微软发布了他们的 这里是实体框架版本历史记录

获得您正在使用的 EF 版本的另一种方法是在 VisualStudio 中打开 Package Manager Console (PMC) ,并在提示符下键入 Get-Package。第一行用于 EntityFramework 并列出项目已安装的版本。

PM> Get-Package


Id                             Version              Description/Release Notes
--                             -------              -------------------------
EntityFramework                5.0.0                Entity Framework is Microsoft's recommended data access technology for new applications.
jQuery                         1.7.1.1              jQuery is a new kind of JavaScript Library....                                           

它显示更多,你可能不得不向上滚动找到 EF 线,但这是我所知道的最简单的方法找到。

可以在 packages.config 文件中检查它。

<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EntityFramework" version="6.0.2" targetFramework="net40-Client" />
</packages>

如果你去参考,点击实体框架,查看属性它会告诉你的版本号。

   internal static string GetEntityFrameworkVersion()
{
var version = "";
var assemblies = System.AppDomain.CurrentDomain.GetAssemblies().Select(x => x.FullName).ToList();
foreach(var asm in assemblies)
{
var fragments = asm.Split(new char[] { ',', '{', '}' }, StringSplitOptions.RemoveEmptyEntries).Select(x=> x.Trim()).ToList();
if(string.Compare(fragments[0], EntityFramework, true)==0)
{
var subfragments = fragments[1].Split(new char[] { '='}, StringSplitOptions.RemoveEmptyEntries);
version =subfragments[1];
break;
}
}
return version;
}

在项目下的解决方案资源管理器中 点击 Dependency-> NuGet-> Microsoft。NetCore.所有-> 这里列出所有微软。将出现 NetCore 包。搜索 Microsoft。可以看到括号中的 EntityFrameworkCore (2.0.3) 就像这样

在找到包裹之后

如果您正在使用 EF 核心,下面的命令可能会有所帮助

dotnet ef --version

为了。NET 核心,这就是我如何知道我使用的 EntityFramework 的版本。让我们假设我的项目的名称是 DemoApi,我有以下的支配权:

  1. 我将打开 DemoApi.csproj 文件并查看包引用,在那里我将看到我正在使用的 EntityFramework 版本。
  2. 打开命令提示符,Powershell 或者终端,将目录改为 DemoApi,然后输入以下命令: dotnet list DemoApi.csproj package