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 ono odtwarzanie klas DbContext i klas jednostek z istniejących baz danych oraz pakietów DACPAC programu SQL Server, zarządzanie migracjami baz danych i wizualizacje modeli. Dla platformy EF Core: 6-8.

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 platformy EF Core: 6-8.

Plik readme usługi GitHub

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.

Witryna sieci web

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.

Witryna sieci web

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 programu EF Core: 6-7.

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.

Witryna sieci web

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.

Repozytorium GitHub

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.

Repozytorium GitHub | NuGet

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.

Repozytorium GitHub | NuGet

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.

Repozytorium GitHub | NuGet

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. W przypadku programu EF Core: 2–7.

Repozytorium GitHub | NuGet

EFCore.BulkExtensions

Rozszerzenia rozwiązania EF Core na potrzeby operacji zbiorczych (wstawianie, aktualizacja, usuwanie). W przypadku programu EF Core: 2–8.

Repozytorium GitHub | NuGet

Bricelam.EntityFrameworkCore.Pluralizer

Dodaje pluralizację czasu projektowania. W przypadku programu EF Core: 2–8.

Repozytorium GitHub | NuGet

Verify.EntityFramework

Rozszerza funkcję Weryfikuj, aby umożliwić testowanie migawek za pomocą rozwiązania Entity Framework. Dla programu EF Core: 3–8.

Repozytorium GitHub | NuGet

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.

Repozytorium GitHub | NuGet

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.

Repozytorium GitHub | NuGet

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.

Repozytorium GitHub | NuGet

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–8.

Repozytorium | GitHub witryny internetowej | NuGet

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–8.

Witryna internetowa | NuGet

Expressionify

Dodaje obsługę wywoływania metod rozszerzeń w wyrażeniach lambda LINQ. W przypadku programu EF Core: 3–6.

Repozytorium GitHub | NuGet

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#. W przypadku programu EF Core: 3–6.

  • 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”.

Witryna internetowa | NuGet

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.

Repozytorium GitHub | NuGet

EFCore.CheckConstraints

Ta wtyczka umożliwia wybranie pewnych ograniczeń kontroli — wystarczy ją aktywować i zostaną one utworzone automatycznie. W przypadku programu EF Core: 5–8.

Repozytorium GitHub | NuGet

SimplerSoftware.EntityFrameworkCore.SqlServer.NodaTime

Dodaje natywną obsługę rozwiązania EntityFrameworkCore dla programu SQL Server dla typów NodaTime. Dla programu EF Core: 3–8.

Repozytorium GitHub | NuGet

EntityFrameworkCore.SqlServer.HierarchyId

Dodaje obsługę identyfikatora hierarchyid dla dostawcy SQL Server EF Core. W przypadku programu EF Core: 3–7.

Repozytorium GitHub | NuGet

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.

Repozytorium GitHub | NuGet

EFCore.SoftDelete

Implementacja usuwania nietrwałego jednostek. W przypadku programu EF Core: 3–6.

Repozytorium GitHub | NuGet

EntityFrameworkCore.ConfigurationManager

Rozszerza platformę EF Core w celu rozpoznawania parametry połączenia z pliku App.config. Dla programu EF Core: 3–8.

Repozytorium GitHub | NuGet

Detached Mapper

Maper DTO-Entity z obsługą kompozycji/agregacji (podobnie jak GraphDiff). W przypadku programu EF Core: 3–6.

Repozytorium GitHub | NuGet

EntityFrameworkCore.Sqlite.NodaTime

Dodaje obsługę typów NodaTime w przypadku korzystania z programu SQLite. W przypadku programu EF Core: 5–8.

Repozytorium GitHub | NuGet

ErikEJ.EntityFrameworkCore.SqlServer.Dacpac

Umożliwia odtwarzanie modelu EF Core z pakietu aplikacji warstwy danych programu SQL Server (dacpac). Dla platformy EF Core: 6-8.

Repozytorium GitHub | NuGet

ErikEJ.EntityFrameworkCore.DgmlBuilder

Generuj zawartość DGML (Graph), która wizualizuje klasę DbContext. Dodaje metodę rozszerzenia AsDgml() do klasy DbContext. Dla programu EF Core: 6-7.

Repozytorium GitHub | NuGet

ErikEJ.EntityFrameworkCore.SqlServer.SqlQuery

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.

Repozytorium GitHub | NuGet

ErikEJ.EntityFrameworkCore.SqlServer.DateOnlyTimeOnly

DateOnly Użyj typów i TimeOnly .NET z dostawcą programu EF Core SQL Server. Dla programu EF Core: 6-7.

Repozytorium GitHub | NuGet

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. W przypadku programu EF Core: 3–6.

Repozytorium GitHub

EntityFrameworkCore.FSharp

Dodaje obsługę czasu projektowania języka F# do rozwiązania EF Core. Dla programu EF Core: 5-6.

Repozytorium GitHub | NuGet

EntityFrameworkCore.VisualBasic

Dodaje obsługę czasu projektowania języka VB do rozwiązania EF Core. W przypadku programu EF Core: 5–8.

Repozytorium GitHub | NuGet

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.

Repozytorium GitHub

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.

Repozytorium GitHub | NuGet

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.

Repozytorium GitHub | NuGet

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. Dla programu EF Core: 5-7.

Repozytorium GitHub | NuGet

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.

Repozytorium GitHub | NuGet

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.

Repozytorium GitHub | NuGet

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.

Repozytorium GitHub

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–8.

Repozytorium | GitHub witryny internetowej | NuGet

EfCoreNexus.Framework

Program EfCoreNexus pomaga zintegrować rdzeń platformy Entity Framework z aplikacjami blazor. Dzięki odbiciu automatycznie dodaje klasy entitiy i zapewnia podstawowe funkcje crud dla nich bez konieczności pisania dodatkowego kodu.

Dla programu EF Core: 8.

Repozytorium GitHub | NuGet

Integracje interfejsu API

Te pakiety są przeznaczone do bezpośredniej integracji z rozwiązaniem EF Core w celu uwidocznienia różnych interfejsów API.

HotChocolate

Utwórz własny punkt końcowy GraphQL na bazie dowolnego zasobu.

Repozytorium GitHub | NuGet

GraphQL.EntityFramework

Dodaj obsługę IQueryable rozwiązania Entity Framework do narzędzia GraphQL. Dla platformy EF Core: 6-8.

Repozytorium GitHub | NuGet

EntityGraphQL

Serwer GraphQL z ścisłą integracją elementu EntityFramework. Dla programu EF Core: 5-7.

Repozytorium GitHub | NuGet

OData

Standard implementacji interfejsów API REST ze specyfikacjami odnajdywania, filtrowania, sortowania, projekcji, nawigacji, operacji zbiorczych i nie tylko.

Repozytorium GitHub | NuGet

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.

Repozytorium GitHub

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.

Repozytorium GitHub

Toolbelt.EntityFrameworkCore.IndexAttribute

Wznowienie atrybutu [Index] (z rozszerzeniem do kompilowania modelu). Dla programu EF Core: 2–5.

Repozytorium GitHub | NuGet

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.

Repozytorium GitHub | NuGet

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.

Repozytorium GitHub | NuGet

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.

Repozytorium GitHub | NuGet

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.

Witryna internetowa | NuGet

Ramses

Punkty zaczepienia cyklu życia (dla SaveChanges). W przypadku programu EF Core: 2–3.

Repozytorium GitHub | NuGet