确定我使用的entity framework的版本?

我相信有两个版本1和2? 而版本2被称为entity framework4.0?

我怎样才能知道在应用程序中使用了哪个版本?

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

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

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

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

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

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

它显示更多,你可能不得不回滚findEF线,但这是我知道要找出最简单的方法。

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

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

回答你的问题的第一部分:Microsoft 在这里发布了他们的entity framework版本历史logging 。

如果打开引用文件夹并findsystem.data.entity,请单击该项目,然后在“属性”资源pipe理器中检查运行时版本号,也会看到子版本。 我的例子显示v4.0.30319版本属性显示4.0.0.0。

如果你去参考,点击entity framework,查看属性它会告诉你的版本号。

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