Xác định phiên bản của Entity Framework tôi đang sử dụng?


131

Tôi tin có hai phiên bản 1 và 2? Và phiên bản 2 được gọi là Entity Framework 4.0?

Làm thế nào tôi có thể biết phiên bản nào đang được sử dụng trong một ứng dụng?

Đây là trong web.config điều này có nghĩa là tôi đang sử dụng phiên bản 2?

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

Câu trả lời:


83

Có hai phiên bản: 1 và 4. EFv4 là một phần của .net 4.0 và EFv1 là một phần của .net 3.5 SP1.

Có, cài đặt cấu hình ở trên trỏ đến EFv4 / .net 4.0.

EDIT Nếu bạn mở thư mục tham chiếu và xác định vị trí system.data.entity, nhấp vào mục, sau đó kiểm tra số phiên bản thời gian chạy trong Trình thám hiểm thuộc tính, bạn cũng sẽ thấy phiên bản phụ. Ví dụ của tôi hiển thị thời gian chạy phiên bản v4.0.30319 với thuộc tính Phiên bản hiển thị 4.0.0.0. Có EntityFramework.dllthể được xem trong thời trang này cũng có. Chỉ có Phiên bản sẽ là 4.1.0.0 và phiên bản Thời gian chạy sẽ là v4.0.30319 chỉ định đó là thành phần .NET 4. Ngoài ra, bạn có thể mở vị trí tệp như được liệt kê trong thuộc tính Đường dẫn và nhấp chuột phải vào thành phần được đề cập, chọn thuộc tính, sau đó chọn tab chi tiết và xem phiên bản sản phẩm.


2
Có, nhưng có các phiên bản khác nhau của 4.0.
MikeKulls

Xem câu trả lời của tôi dưới đây để biết lịch sử phiên bản của Microsoft.
Marcel

1
Bây giờ có ba phiên bản và EFV5 được liên kết với .NET 4.5 và đến bây giờ, EFv6 đang được xây dựng
Farax

4
Sử dụng Get-Gói (xem câu trả lời khác). Nó nhanh hơn và chính xác hơn.
Will Curran

157

Một cách khác để có phiên bản EF mà bạn đang sử dụng là mở Bảng điều khiển quản lý gói (PMC) trong Visual Studio và nhập Get-Gói theo dấu nhắc. Dòng đầu tiên dành cho EntityFramework và liệt kê phiên bản mà dự án đã cài đặt.

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`

Nó hiển thị nhiều hơn nữa và bạn có thể phải cuộn ngược lên để tìm dòng EF, nhưng đây là cách dễ nhất mà tôi biết để tìm hiểu.


15
Vâng, điều này giả định rằng bạn đã cài đặt tài liệu tham khảo thông qua trình quản lý gói không phải là trường hợp của nhiều người trong chúng ta.
Laurent Jalbert Simard

2
@LaurentJalbertSimard Tôi đã không làm như vậy một cách rõ ràng và nó vẫn xuất hiện.
Dan

39

có thể kiểm tra nó trong tập tin tests.config.

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


11

Nếu bạn mở thư mục tham chiếu và định vị system.data.entity, hãy nhấp vào mục đó, sau đó kiểm tra số phiên bản thời gian chạy trong Trình thám hiểm thuộc tính, bạn cũng sẽ thấy phiên bản phụ. Ví dụ của tôi hiển thị v4.0.30319 với thuộc tính Phiên bản hiển thị 4.0.0.0.


6

nếu bạn đang sử dụng lõi EF, lệnh này dưới đây có thể giúp

dotnet ef --version

1

Nếu bạn đi đến tài liệu tham khảo, nhấp vào Entity Framework, xem thuộc tính Nó sẽ cho bạn biết số phiên bản.


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

Trong Solution Explorer trong Project Nhấp vào Dependencies-> NuGet-> Microsoft.NetCore.All-> Tại đây danh sách tất cả các pakcages của Microsoft .NetCore sẽ xuất hiện. Tìm kiếm Microsoft.EntityFrameworkCore (2.0.3) trong phiên bản khung có thể được xem như thế này

Sau khi tìm gói

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.