Tentukan versi Kerangka Entitas yang saya gunakan?

131

Saya percaya ada dua versi 1 dan 2? Dan versi 2 disebut sebagai Entity Framework 4.0?

Bagaimana saya bisa tahu versi apa yang sedang digunakan dalam suatu aplikasi?

Ini ada di web.config saya, apakah ini berarti saya menggunakan versi 2?

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

Jawaban:

83

Ada dua versi: 1 dan 4. EFv4 adalah bagian dari .net 4.0, dan EFv1 adalah bagian dari .net 3.5 SP1.

Ya, pengaturan konfigurasi di atas menunjuk ke EFv4 / .net 4.0.

EDIT Jika Anda membuka folder referensi dan mencari system.data.entity, klik item, lalu periksa nomor versi runtime di explorer Properties, Anda akan melihat sub versi juga. Tambang saya misalnya menunjukkan versi runtime v4.0.30319 dengan properti Versi menunjukkan 4.0.0.0. The EntityFramework.dlldapat dilihat dalam mode ini juga. Hanya Versi yang akan 4.1.0.0 dan versi Runtime akan menjadi v4.0.30319 yang menentukan itu adalah komponen .NET 4. Atau, Anda dapat membuka lokasi file seperti yang tercantum dalam properti Path dan klik kanan komponen yang dimaksud, pilih properti, lalu pilih tab detail dan lihat versi produk.

KristoferA
sumber
2
Ya, tetapi ada berbagai versi 4.0.
MikeKulls
Lihat jawaban saya di bawah ini untuk riwayat versi Microsoft.
Marcel
1
Sekarang ada tiga versi dan EFV5 dikaitkan dengan .NET 4.5 dan sampai sekarang, EFv6 sedang dalam pembangunan
Farax
4
Gunakan Get-Package (lihat jawaban lain). Lebih cepat dan lebih akurat.
Will Curran
157

Cara lain untuk mendapatkan versi EF yang Anda gunakan adalah dengan membuka Package Manager Console (PMC) di Visual Studio dan ketik Get-Package di prompt. Baris pertama dengan untuk EntityFramework dan daftarkan versi proyek yang telah diinstal.

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`

Ini menampilkan lebih banyak dan Anda mungkin harus menggulir kembali ke atas untuk menemukan jalur EF, tetapi ini adalah cara termudah yang saya tahu untuk mengetahuinya.

ChrisS
sumber
15
Nah ini mengasumsikan Anda menginstal referensi melalui manajer paket yang tidak terjadi pada banyak dari kita.
Laurent Jalbert Simard
2
@LaurentJalbertSimard Saya tidak secara eksplisit melakukannya, dan itu masih muncul.
Dan
39

dapat memeriksanya dalam file packages.config.

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

Jika Anda membuka folder referensi dan menemukan system.data.entity, klik item, lalu periksa nomor versi runtime di Properties explorer, Anda akan melihat sub versi juga. Milik saya misalnya menunjukkan v4.0.30319 dengan properti Versi menunjukkan 4.0.0.0.

RickIsWright
sumber
6

jika Anda menggunakan inti EF, perintah di bawah ini dapat membantu

dotnet ef --version
Namik Hajiyev
sumber
1

Jika Anda pergi ke referensi, klik pada Entity Framework, lihat properti Ini akan memberi tahu Anda nomor versi.

Demodave
sumber
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;
    }
Rekan Sederhana
sumber
1

Dalam Solution Explorer Under Project, klik Dependencies-> NuGet-> Microsoft.NetCore.All-> Di sini daftar semua pakcage Microsoft .NetCore akan muncul. Cari Microsoft.EntityFrameworkCore (2.0.3) dalam versi braket dapat dilihat Seperti ini

Setelah menemukan paket

Anzar Narmawala
sumber