Narzędzia i rozszerzenia platformy EF Core
Te narzędzia i rozszerzenia zapewniają dodatkowe funkcje dla platformy Entity Framework Core.
Ważne
Rozszerzenia pochodzą z różnych źródeł i nie są obsługiwane w ramach projektu Entity Framework Core. Rozważając zainstalowanie rozszerzenia innej firmy, należy ocenić jego jakość, sposób licencjonowania, zgodność, pomoc techniczną itp., aby mieć pewność, że spełnia Twoje wymagania. W szczególności rozszerzenie utworzone dla starszej wersji rozwiązania EF Core może wymagać aktualizacji, zanim będzie mogło być używane z najnowszymi wersjami.
Narzędzia
EF Core Power Tools
EF Core Power Tools to rozszerzenie programu Visual Studio, które uwidacznia różne zadania czasu projektowania EF Core w prostym interfejsie użytkownika. Obejmuje ona odwrotną inżynierię klas DbContext i jednostek z istniejących baz danych oraz DACPACs programu SQL Server, jak również wizualizacje i diagramy modeli. Dla programu EF Core: 6-9.
Witryna typu wiki usługi GitHub
Interfejs wiersza polecenia narzędzi EF Core Power Tools
Interfejs wiersza polecenia programu EF Core Power Tools to globalne narzędzie wiersza polecenia platformy .NET. Umożliwia zaawansowaną inżynierię odwrotną klas DbContext i jednostek z istniejących baz danych i kontrolerów DACPACs programu SQL Server. Dla programu EF Core: 6-9.
LLBLGen Pro
LLBLGen Pro to rozwiązanie do modelowania jednostek z obsługą technologii Entity Framework i Entity Framework Core. Umożliwia ono łatwe definiowanie modelu jednostki i mapowanie go na bazę danych przy użyciu modelu Database First lub Model First, dzięki czemu można od razu rozpocząć pisanie zapytań. W przypadku programu EF Core: 2–8.
Devart Entity Developer
Entity Developer to zaawansowany projektant O/RM dla rozwiązań ADO.NET Entity Framework, NHibernate, LinqConnect, Telerik Data Access oraz LINQ to SQL. Obsługuje on wizualne projektowanie modeli EF Core przy użyciu podejścia Model First lub Database First oraz generowanie kodu w języku C# lub Visual Basic. W przypadku programu EF Core: 2–7.
DevMagic EF Core Sidekick
EF Core Sidekick to rozszerzenie programu Visual Studio, które zwiększa możliwości automatycznego generowania kodu w programie Visual Studio. Udostępnia zestaw narzędzi i szablonów do generowania jednostek programu EF Core i pochodnego elementu DbContext z istniejącej bazy danych, a następnie generowania usług i interfejsów API REST z jednostek. Dla platformy EF Core: 6-8.
Witryna internetowa programu Visual Studio Marketplace |
Entity Framework Visual Editor
Entity Framework Visual Editor to rozszerzenie programu Visual Studio, które dodaje projektanta O/RM do wizualnego projektowania klas EF 6 i EF Core. Kod jest generowany przy użyciu szablonów T4, dzięki czemu można go dostosować do dowolnych potrzeb. Obsługuje dziedziczenie, skojarzenia jednokierunkowe i dwukierunkowe, wyliczenia oraz możliwość kolorowania klas i dodawania bloków tekstowych w celu objaśnienia potencjalnie niejasnych części projektu. W przypadku programu EF Core: 2–8.
Witryna Visual Studio Marketplace
IWAPI
IWAPI (Instant Web API) to aparat tworzenia szkieletów dla platformy .NET Core, który może zautomatyzować generowanie klas DbContext, jednostek i modeli oraz tworzy działający internetowy interfejs API z dowolnej bazy danych SQL Server.
efmig
efmig to wieloplatformowa aplikacja z graficznym interfejsem użytkownika, która przyspiesza codzienne programowanie podczas pracy z platformą Entity Framework Core. Obejmuje on najbardziej popularne przypadki użycia, takie jak kod migracji i generowanie skryptów za pomocą prostego interfejsu jednym kliknięciem. W przypadku programu EF Core: 2–8.
EFCore.Visualizer
Za pomocą wizualizatora debugera planu zapytań platformy Entity Framework Core można wyświetlić plan zapytania bezpośrednio w programie Visual Studio. Obecnie wizualizator obsługuje programy SQL Server i PostgreSQL. Dla programu EF Core: 7–8.
Witryna Visual Studio Marketplace
Rozszerzenia
Microsoft.EntityFrameworkCore.AutoHistory
Biblioteka wtyczek, która umożliwia automatyczne rejestrowanie zmian danych wprowadzonych przez rozwiązanie EF Core w tabeli historii. W przypadku programu EF Core: 2–6.
EFCoreSecondLevelCacheInterceptor
Buforowanie drugiego poziomu to pamięć podręczna zapytań. Wyniki poleceń rozwiązania EF będą przechowywane w pamięci podręcznej, dzięki czemu te same polecenia rozwiązania EF będą pobierać swoje dane z pamięci podręcznej zamiast wykonywać je ponownie w bazie danych. Dla programu EF Core: 3–8.
EntityFrameworkCore.Scaffolding.Handlebars
Umożliwia dostosowywanie klas odtworzonych z istniejącej bazy danych przy użyciu łańcucha narzędzia Entity Framework Core z szablonami Handlebars. W przypadku programu EF Core: 2–8.
NeinLinq.EntityFrameworkCore
NeinLinq rozszerza dostawców LINQ, takich jak rozwiązanie Entity Framework, aby umożliwić ponowne używanie funkcji, ponowne zapisywanie zapytań i tworzenie zapytań dynamicznych przy użyciu predykatów i selektorów z możliwością translacji. Dla programu EF Core: 3–8.
EFCore.BulkExtensions
Rozszerzenia rozwiązania EF Core na potrzeby operacji zbiorczych (wstawianie, aktualizacja, usuwanie). W przypadku programu EF Core: 2–8.
Bricelam.EntityFrameworkCore.Pluralizer
Dodaje pluralizację czasu projektowania. W przypadku programu EF Core: 2–9.
Verify.EntityFramework
Rozszerza funkcję Weryfikuj, aby umożliwić testowanie migawek za pomocą rozwiązania Entity Framework. Dla programu EF Core: 3–8.
LocalDb
Udostępnia otokę bazy danych SQL Server Express LocalDB, aby uprościć uruchamianie testów w rozwiązaniu Entity Framework. Dla programu EF Core: 3–8.
EntityFrameworkCore.Projectables
Elastyczna magia projekcji dla rozwiązania EF Core. Używaj właściwości, metod i metod rozszerzeń w zapytaniach bez oceny klienta. W przypadku programu EF Core: 3–6, 8.
EntityFrameworkCore.Triggered
Wyzwalacze dla rozwiązania EF Core. Reaguj na zmiany w klasie DbContext przed ich zatwierdzeniem i po zatwierdzeniu w bazie danych. Wyzwalacze są w pełni asynchroniczne i obsługują wstrzykiwanie zależności, dziedziczenie, kaskady i nie tylko. W przypadku programu EF Core: 3–6.
Entity Framework Plus
Rozszerza klasę DbContext o funkcje takie jak: dołączanie filtru, inspekcja, buforowanie, zapytania o przyszłość, usuwanie wsadowe, aktualizacja wsadowa i nie tylko. W przypadku programu EF Core: 2–9.
|
Entity Framework Extensions
Rozszerza klasę DbContext o operacje zbiorcze o wysokiej wydajności: BulkSaveChanges, BulkInsert, BulkUpdate, BulkDelete, BulkMerge i nie tylko. W przypadku programu EF Core: 2–9.
Expressionify
Dodaje obsługę wywoływania metod rozszerzeń w wyrażeniach lambda LINQ. W przypadku programu EF Core: 3–6.
EntityLinq
Alternatywna (nie oparta na rozwiązaniach MS) technologia Language Integrated Query (LINQ) dla relacyjnych baz danych. Umożliwia pisanie silnie typizowanych zapytań SQL w języku C#. Dla programu EF Core: 3–8.
- Pełna obsługa języka C# na potrzeby tworzenia zapytań: wiele instrukcji wewnątrz wyrażenia lambda, zmiennych, funkcji itp.
- Brak luki semantycznej w stosunku do języka SQL. EntityLinq deklaruje instrukcje SQL (takie jak
SELECT
,FROM
,WHERE
) jako metody języka C# pierwszej klasy, łącząc znaną składnię z funkcją IntelliSense, bezpieczeństwem typów i refaktoryzacją.
W rezultacie język SQL staje się po prostu „kolejną” biblioteką klas uwidaczniającą swój interfejs API lokalnie — dosłownie „Language Integrated SQL”.
EFCore.NamingConventions
Automatycznie powoduje, że wszystkie nazwy tabel i kolumn mają podkreślenia zamiast spacji, wszystkie WIELKIE lub wszystkie małe litery. Dla programu EF Core: 3–8.
EFCore.CheckConstraints
Ta wtyczka umożliwia wybranie pewnych ograniczeń kontroli — wystarczy ją aktywować i zostaną one utworzone automatycznie. Dla programu EF Core: 5-9.
SimplerSoftware.EntityFrameworkCore.SqlServer.NodaTime
Dodaje natywną obsługę rozwiązania EntityFrameworkCore dla programu SQL Server dla typów NodaTime. W przypadku programu EF Core: 3-9.
EntityFrameworkCore.SqlServer.HierarchyId
Uwaga
Typ danych hierarchyid programu SQL Server jest obsługiwany bezpośrednio w programie EF Core na platformie EF Core 8.
Dodaje obsługę identyfikatora hierarchyid dla dostawcy SQL Server EF Core. W przypadku programu EF Core: 3–7.
linq2db.EntityFrameworkCore
Alternatywny translator zapytań LINQ na wyrażenia SQL. W przypadku programu EF Core: 2–8.
Obejmuje obsługę zaawansowanych funkcji SQL, takich jak CTE, kopiowanie zbiorcze, wskazówki dotyczące tabel, funkcje w trybie okna, tabele tymczasowe i operacje tworzenia/aktualizowania/usuwania po stronie bazy danych.
EFCore.SoftDelete
Implementacja usuwania nietrwałego jednostek. W przypadku programu EF Core: 3–6.
EntityFrameworkCore.ConfigurationManager
Rozszerza platformę EF Core w celu rozpoznawania parametry połączenia z pliku App.config. W przypadku programu EF Core: 3-9.
Detached Mapper
Maper DTO-Entity z obsługą kompozycji/agregacji (podobnie jak GraphDiff). Dla programu EF Core: 3–8.
EntityFrameworkCore.Sqlite.NodaTime
Dodaje obsługę typów NodaTime w przypadku korzystania z programu SQLite. W przypadku programu EF Core: 5–8.
ErikEJ.EntityFrameworkCore.SqlServer.Dacpac
Umożliwia odtwarzanie modelu EF Core z pakietu aplikacji warstwy danych programu SQL Server (dacpac). Dla programu EF Core: 6-9.
ErikEJ.EntityFrameworkCore.DgmlBuilder
Generuj zawartość DGML (Graph), która wizualizuje klasę DbContext. Dodaje metodę rozszerzenia AsDgml() do klasy DbContext. Dla programu EF Core: 6-9.
ErikEJ.EntityFrameworkCore.SqlServer.SqlQuery
Uwaga
Nieprzetworzone zapytania SQL względem niemapowanych typów są obsługiwane bezpośrednio w programie EF Core od wersji EF Core 8.
Udostępnia metody SqlQueryAsync<T>
i SqlQueryValueAsync<T>
ułatwiające wypełnianie klas losowych lub listy typów pierwotnych z nieprzetworzonego zapytania SQL. Dla programu EF Core: 6-7.
ErikEJ.EntityFrameworkCore.SqlServer.DateOnlyTimeOnly
Uwaga
Program SQL Server DateOnly
i TimeOnly
mapowanie są obsługiwane bezpośrednio w programie EF Core na platformie EF Core 8.
DateOnly
Użyj typów i TimeOnly
.NET z dostawcą programu EF Core SQL Server. Dla programu EF Core: 6-7.
EntityFramework.Exceptions
W przypadku korzystania z rozwiązania Entity Framework Core wszystkie wyjątki bazy danych są opakowane w wyjątek DbUpdateException. Wtyczka EntityFramework.Exceptions obsługuje wszystkie szczegóły specyficzne dla bazy danych, aby ustalić, które ograniczenie zostało naruszone, i umożliwia użycie wyjątków z określonym typem, takich jak UniqueConstraintException
, CannotInsertNullException
, MaxLengthExceededException
, NumericOverflowException
i ReferenceConstraintException
, gdy zapytanie narusza ograniczenia bazy danych.
Obsługuje rozwiązania SQL Server, Postgres, MySql, SQLite i Oracle. Dla programu EF Core: 3–8.
EntityFrameworkCore.FSharp
Dodaje obsługę czasu projektowania języka F# do rozwiązania EF Core. Dla programu EF Core: 5-6.
EntityFrameworkCore.VisualBasic
Dodaje obsługę czasu projektowania języka VB do rozwiązania EF Core. W przypadku programu EF Core: 5–8.
Krzysztofz01.EFCore.QueryFilterBuilder
Rozszerzenie dla rozwiązania Entity Framework, które umożliwia tworzenie wielu filtrów zapytań i zarządzanie nimi. Dla programu EF Core: 5-7.
Pagination.EntityFrameworkCore.Extensions
Jest to biblioteka do stronicowania w rozwiązaniu EntityFrameworkCore. Dobrze współpracuje z rozwiązaniem Entity Framework Core jako rozszerzenie i obsługuje zarówno asynchroniczne, jak i synchroniczne. Ma również wiele przydatnych funkcji często używanych szczególnie w przypadku tworzenia aplikacji internetowych. W przypadku programu EF Core: 2–7.
Laraue.EfCoreTriggers
Interfejs API Fluent do deklarowania wyzwalaczy w Context.OnModelCreating
, które później są wbudowywane w migracje. Dostawcy dla rozwiązań Postgres, MySQL, SQL Server i SQLite. W przypadku programu EF Core: 5–8.
EntityCloner.Microsoft.EntityFrameworkCore
Klonowanie jednostek przy użyciu konfiguracji rozwiązania EF Core. Możesz użyć metody Include
, aby określić powiązane dane do sklonowania. W przypadku programu EF Core: 5–8.
Rozszerzenia Zomp dla rozwiązania EF Core
Udostępnia funkcje okien (analizy) i funkcje binarne dla rozwiązania EF Core. Dostawcy: SQL Server, SQLite, PostgreSQL. Dla platformy EF Core: 6-8.
Ainoraz.EFCore.IncludeBuilder
Rozszerzenie dla platformy EF Core, które zapewnia alternatywną składnię Include
, aby lepiej obsługiwać następujące scenariusze:
- Ładowanie wielu jednostek na tym samym poziomie (elementy równorzędne).
- Pisanie metod rozszerzeń niezależnych od poziomu zagnieżdżania.
Dla programu EF Core: 6-7.
Linijka platformy Entity Framework
Dodaje dostosowywanie w czasie projektowania modelu odwrotnego, w tym:
- Nazewnictwo klas, właściwości i nawigacji
- Pomijanie szkieletu dowolnego schematu, tabeli lub kolumny.
- Zastępowanie typów właściwości, szczególnie w przypadku wyliczenia.
- Obsługa ef6 EDMX zapewniająca płynną 3-krokową ścieżkę uaktualniania od EF6 do EF Core.
Dla platformy EF Core: 6-8.
Narzędzie interfejsu wiersza polecenia repozytorium | GitHub NuGet Design NuGet |
LessCode.EFCore.ZdecydowanieTypedId
Generator źródła, który może automatycznie generować klasy silnie typizowane-id dla jednostek. Dla programu EF Core: 7.
Microsoft.EntityFrameworkCore.DynamicLinq
Biblioteka Dynamic LINQ umożliwia wykonywanie zapytań za pomocą ciągu dynamicznego i udostępnianie niektórych metod narzędziowych, takich jak ParseLambda, Parse i CreateClass. W przypadku programu EF Core: 2–9.
|
EfCoreNexus.Framework
Program EfCoreNexus pomaga zintegrować rdzeń platformy Entity Framework z aplikacjami blazor. Dzięki odbiciu automatycznie dodaje klasy jednostek i zapewnia podstawowe funkcje crud dla nich bez konieczności pisania dodatkowego kodu.
Dla programu EF Core: 8.
Reconciler
Zaktualizuj wykres jednostki w magazynie, wstawiając, aktualizując i usuwając odpowiednie jednostki. Dla programu EF Core: 6-7.
Autouzupełniania
Utrwalone obliczone właściwości w programie EF Core, które są aktualizowane automatycznie podczas zapisywania zmian. Dla programu EF Core: 8.
Integracje interfejsu API
Te pakiety są przeznaczone do bezpośredniej integracji z rozwiązaniem EF Core w celu uwidocznienia różnych interfejsów API.
.NET Aspire
Zwiększ lokalne środowisko programistyczne, upraszczając zarządzanie konfiguracją i wzajemnymi połączeniami aplikacji natywnej dla chmury. Dla programu EF Core: 8.
|
HotChocolate
Utwórz własny punkt końcowy GraphQL na bazie dowolnego zasobu.
GraphQL.EntityFramework
Dodaj obsługę IQueryable
rozwiązania Entity Framework do narzędzia GraphQL. Dla platformy EF Core: 6-8.
EntityGraphQL
Serwer GraphQL z ścisłą integracją elementu EntityFramework. W przypadku programu EF Core: 5–8.
OData
Standard implementacji interfejsów API REST ze specyfikacjami odnajdywania, filtrowania, sortowania, projekcji, nawigacji, operacji zbiorczych i nie tylko.
Rozszerzenia dla nieobsługiwanych wersji platformy EF Core
nHydrate ORM for Entity Framework
Maper obiektowo-relacyjny (O/RM, object-relational mapper), który tworzy silnie typizowane, rozszerzalne klasy dla rozwiązania Entity Framework. Wygenerowany kod jest kodem Entity Framework Core. Nie ma żadnych różnic. Nie jest to zamiennik rozwiązania EF ani niestandardowy O/RM. Jest to warstwa modelowania wizualnego, która umożliwia zespołowi zarządzanie złożonymi schematami baz danych. Działa dobrze z oprogramowaniem SCM, takim jak Git, umożliwiając wielu użytkownikom dostęp do modelu z minimalnymi konfliktami. Instalator śledzi zmiany modelu i tworzy skrypty uaktualniania. Dla rozwiązania EF Core: 3.
Microsoft.EntityFrameworkCore.UnitOfWork
Wtyczka dla rozwiązania Microsoft.EntityFrameworkCore do obsługi repozytorium, jednostek wzorców pracy i wielu baz danych z obsługiwaną transakcją rozproszoną. W przypadku programu EF Core: 2–3.
Toolbelt.EntityFrameworkCore.IndexAttribute
Wznowienie atrybutu [Index] (z rozszerzeniem do kompilowania modelu). Dla programu EF Core: 2–5.
EfCoreTemporalTable
Uwaga
Tabele tymczasowe programu SQL Server są obsługiwane bezpośrednio w rozwiązaniu EF Core od wersji EF Core 6.
Łatwo wykonuj zapytania tymczasowe względem ulubionej bazy danych przy użyciu oferowanych metod rozszerzenia: AsTemporalAll()
, AsTemporalAsOf(date)
, AsTemporalFrom(startDate, endDate)
, AsTemporalBetween(startDate, endDate)
, AsTemporalContained(startDate, endDate)
. W przypadku programu EF Core: 3–5.
EntityFrameworkCore.TemporalTables
Uwaga
Tabele tymczasowe programu SQL Server są obsługiwane bezpośrednio w rozwiązaniu EF Core od wersji EF Core 6.
Biblioteka rozszerzeń dla rozwiązania Entity Framework Core, która umożliwia deweloperom korzystającym z programu SQL Server łatwe używanie tabel tymczasowych. Dla programu EF Core: 2–5.
Dabble.EntityFrameworkCore.Temporal.Query
Uwaga
Tabele tymczasowe programu SQL Server są obsługiwane bezpośrednio w rozwiązaniu EF Core od wersji EF Core 6.
Rozszerzenia LINQ dla rozwiązania Entity Framework Core 3.1 w celu obsługi zapytań dotyczących tabel tymczasowych programu Microsoft SQL Server. Dla rozwiązania EF Core: 3.
EntityFrameworkCore.NCache
NCache Entity Framework Core Provider to dostawca rozproszonej pamięci podręcznej drugiego poziomu na potrzeby buforowania wyników zapytań. Rozproszona architektura pamięci podręcznej NCache sprawia, że jest ona bardziej skalowalna i wysoce dostępna. W przypadku programu EF Core: 2–3.
Ramses
Punkty zaczepienia cyklu życia (dla SaveChanges). W przypadku programu EF Core: 2–3.