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

时间:2010-07-31 11:09:57

标签: entity-framework

我相信有两个版本1和2?版本2被称为Entity Framework 4.0?

如何判断应用程序中使用的是哪个版本?

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

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

10 个答案:

答案 0 :(得分:137)

获取正在使用的EF版本的另一种方法是在Visual Studio中打开包管理器控制台(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....                                           `enter code here`

它显示更多,您可能需要向上滚动才能找到EF线,但这是我知道的最容易找到的方法。

答案 1 :(得分:82)

有两个版本:1和4. EFv4是.net 4.0的一部分,EFv1是.net 3.5 SP1的一部分。

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

修改 如果打开references文件夹并找到system.data.entity,单击该项,然后在Properties Explorer中检查运行时版本号,您也将看到子版本。例如,Mine显示运行时版本v4.0.30319,其中Version属性显示为4.0.0.0。 EntityFramework.dll也可以这种方式查看。只有版本是4.1.0.0,运行版本将是v4.0.30319,它指定它是.NET 4组件。或者,您可以打开Path属性中列出的文件位置,右键单击相关组件,选择属性,然后选择详细信息选项卡并查看产品版本。

答案 2 :(得分:36)

可以在packages.config文件中查看。

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

答案 3 :(得分:17)

要回答问题的第一部分:Microsoft发布了他们的Entity Framework version history here

答案 4 :(得分:11)

如果打开references文件夹并找到system.data.entity,单击该项,然后在Properties Explorer中检查运行时版本号,您也将看到子版本。例如,我的版本显示了v4.0.30319,版本属性显示为4.0.0.0。

答案 5 :(得分:1)

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

答案 6 :(得分:1)

 
   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;
    }

答案 7 :(得分:1)

在Project下的Solution Explorer中 单击Dependencies-> NuGet-> Microsoft.NetCore.All->。此处将显示所有Microsoft .NetCore包装的列表。可以看到在括号版本中搜索Microsoft.EntityFrameworkCore(2.0.3) Like this

After finding package

答案 8 :(得分:1)

如果您使用的是EF核心,则下面的此命令可能会帮助

dotnet ef --version

答案 9 :(得分:0)

对于.NET Core,这是我如何知道所使用的EntityFramework版本的方法。假设我的项目名称为DemoApi,我可以使用以下内容:

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