ตรวจสอบเวอร์ชันของ Entity Framework ที่ฉันใช้อยู่?


131

ฉันเชื่อว่ามีสองเวอร์ชัน 1 และ 2? และเวอร์ชัน 2 จะเรียกว่า Entity Framework 4.0?

ฉันจะทราบได้อย่างไรว่ากำลังใช้เวอร์ชันใดในแอปพลิเคชัน

นี่อยู่ใน web.config ของฉันหมายความว่าฉันกำลังใช้เวอร์ชัน 2 อยู่หรือเปล่า

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

คำตอบ:


83

มีสองเวอร์ชัน: 1 และ 4 EFv4 เป็นส่วนหนึ่งของ. net 4.0 และ EFv1 เป็นส่วนหนึ่งของ. net 3.5 SP1

ใช่การตั้งค่ากำหนดค่าด้านบนชี้ไปที่ EFv4 / .net 4.0

แก้ไข หากคุณเปิดโฟลเดอร์การอ้างอิงและค้นหา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
ใช่ แต่มีเวอร์ชัน 4.0 ที่แตกต่างกัน
MikeKulls

ดูคำตอบของฉันด้านล่างสำหรับประวัติเวอร์ชันของ Microsoft
Marcel

1
ตอนนี้มีสามเวอร์ชันและ EFV5 เชื่อมโยงกับ. NET 4.5 และ ณ ตอนนี้ EFv6 อยู่ระหว่างการปรับปรุง
Farax

4
ใช้ Get-Package (ดูคำตอบอื่น ๆ ) รวดเร็วและแม่นยำยิ่งขึ้น
Will Curran

157

อีกวิธีหนึ่งในการรับเวอร์ชัน EF ที่คุณใช้คือการเปิด Package Manager Console (PMC) ใน Visual Studio แล้วพิมพ์ 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 แต่นี่เป็นวิธีที่ง่ายที่สุดที่ฉันรู้


15
นี่จะถือว่าคุณติดตั้งข้อมูลอ้างอิงผ่านตัวจัดการแพ็คเกจซึ่งไม่ใช่กรณีสำหรับพวกเราหลายคน
Laurent Jalbert Simard

2
@LaurentJalbertSimard ฉันไม่ได้ทำอย่างชัดเจนและมันก็ยังปรากฏอยู่
แดน



11

หากคุณเปิดโฟลเดอร์การอ้างอิงและค้นหา system.data.entity คลิกรายการจากนั้นตรวจสอบหมายเลขเวอร์ชันรันไทม์ใน Properties explorer คุณจะเห็นเวอร์ชันย่อยด้วย Mine ตัวอย่างแสดง v4.0.30319 พร้อมคุณสมบัติ Version ที่แสดง 4.0.0.0



1

หากคุณไปที่การอ้างอิงคลิกที่เอนทิตีเฟรมเวิร์กดูคุณสมบัติมันจะบอกหมายเลขเวอร์ชัน


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

1

ในโซลูชัน Explorer ภายใต้โครงการคลิกที่การพึ่งพา -> NuGet-> Microsoft.NetCore All-> นี่คือรายการของ pakcages ของ Microsoft .NetCore ทั้งหมดจะปรากฏขึ้น ค้นหา Microsoft.EntityFrameworkCore (2.0.3) ในเวอร์ชันวงเล็บจะเห็น เช่นนี้

หลังจากพบแพ็คเกจ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.