EF Core tarafından desteklenen .NET uygulamaları

EF Core tüm modern .NET uygulamalarındaki geliştiriciler için kullanılabilir olmasını istiyoruz ve bu hedefle çalışmaya devam ediyoruz. EF Core .NET Core üzerinde destek, otomatik test ve başarıyla kullanılması bilinen birçok uygulama tarafından ele alınmıştır, mono, Xamarin ve UWP bazı sorunlar yaşıyor.

Genel Bakış

Aşağıdaki tabloda her .NET uygulamasına yönelik rehberlik sunulmaktadır:

EF Core 3,1 5.0
.NET Standard 2.0 2.1
.NET Core 2.0 3.0
.NET Framework(1) 4.7.2 (desteklenmiyor)
Mono 5.4 6.4
Xamarin. iOS(2) 10,14 12,16
Xamarin. Mac(2) 3.8 5,16
Xamarin. Android(2) 8.0 10.0
UWP(3) 10.0.16299 TBD
Unity(4) 2018,1 TBD

(1) aşağıdaki .NET Framework bölümüne bakın.

(2) Xamarin ile ilgili sorunlar ve bilinen sınırlamalar vardır ve EF Core kullanılarak geliştirilen bazı uygulamaların doğru şekilde çalışmasını engelleyebilir. Geçici çözümler için etkin sorunlar listesini denetleyin.

(3) EF Core 2.0.1 ve daha yeni önerilir. .NET Core UWP 6. x paketiniyükler. bu makalenin Evrensel Windows Platformu bölümüne bakın.

(4) Unity ile ilgili sorunlar ve bilinen sınırlamalar vardır. Etkin sorunlarlistesini denetleyin.

.NET Framework

.NET Framework hedef uygulamaların .NET Standard kitaplıklarıyla çalışması için değişiklikler gerekebilir:

Proje dosyasını düzenleyin ve aşağıdaki girdinin ilk özellik grubunda göründüğünden emin olun:

<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>

Test projeleri için aşağıdaki girişin mevcut olduğundan da emin olun:

<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>

Visual Studio eski bir sürümünü kullanmak istiyorsanız, .NET Standard 2,0 kitaplıklarıyla çalışmak için NuGet istemcisini 3.6.0 sürümüne yükseltdiğinizden emin olun.

ayrıca, mümkünse NuGet packages.config ' den packagereference 'a geçiş yapmanızı öneririz. Aşağıdaki özelliği proje dosyanıza ekleyin:

<RestoreProjectStyle>PackageReference</RestoreProjectStyle>

Evrensel Windows Platformu

EF Core ve .net UWP 'nin önceki sürümlerinde, özellikle .NET Native araç zinciri ile derlenen uygulamalarla çok sayıda uyumluluk sorunu vardı. yeni .net UWP sürümü, .NET Standard 2,0 için destek ekler ve daha önce bildirilen uyumluluk sorunlarının çoğunu düzelten .NET Native 2,0 içerir. EF Core 2.0.1 UWP ile daha kapsamlı bir şekilde sınanmıştır ancak test otomatik değildir.

UWP üzerinde EF Core kullanırken:

  • Sorgu performansını iyileştirmek için LINQ sorgularında anonim türlerden kaçının. Bir UWP uygulamasını App Store 'a dağıtmak için bir uygulamanın .NET Native ile derlenmesi gerekir. Anonim türlere sahip sorguların .NET Native performansı kötüleştiğini.

  • Performansı iyileştirmek için SaveChanges() , SaveChanges() kullanın ve varlık Türlerinize INotifyPropertyChanged, INotifyPropertyChangingve INotifyCollectionChanged uygulayın.

Sorun bildirme

Beklendiği gibi çalışmayan hiçbir birleşim için EF Core sorunu izleyicideyeni sorunlar oluşturulmasını öneririz. Xamarin 'e özgü sorunlarda, Xamarin. Android veya Xamarin. iOSiçin sorun izleyicisini kullanın.