Udostępnij przez


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

Narzędzia EF Core Power

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. W przypadku programu EF Core: 8-10.

Wiki GitHub

Interfejs wiersza polecenia narzędzi EF Core Power Tools

Narzędzie CLI EF Core Power Tools to globalne narzędzie wiersza polecenia platformy .NET. Umożliwia zaawansowaną inżynierię odwrotną DbContext i klas encji z istniejących baz danych oraz pakietów DACPAC programu SQL Server. W przypadku programu EF Core: 8-10.

NuGet

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

Witryna sieci web

Developer Encji Devart

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

Witryna sieci web

DevMagic EF Core Sidekick - Narzędzie pomocnicze do pracy z EF Core

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-9.

Witryna internetowa programu Visual Studio Marketplace |

Edytor wizualizacji platformy Entity Framework

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.

Visual Studio Marketplace

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.

Visual Studio Marketplace

Rozszerzenia

EFCoreSecondLevelCacheInterceptor

Buforowanie na drugim poziomie 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ędzi 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. Dla programu EF Core: 3–8.

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

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

Zapewnia otoczkę wokół SQL Server Express LocalDB, aby uprościć przeprowadzanie testów w kontekście Entity Framework. Dla programu EF Core: 3–8.

Repozytorium GitHub | NuGet

EntityFrameworkCore.Projectables

Elastyczna magia projekcji w 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.

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

Strona internetowa | Repozytorium GitHub | NuGet

Rozszerzenia Entity Framework

Rozszerza klasę DbContext o operacje zbiorcze o wysokiej wydajności: BulkSaveChanges, BulkInsert, BulkUpdate, BulkDelete, BulkMerge i nie tylko. W przypadku programu EF Core: 2–10.

Witryna internetowa | NuGet

Ekspresjofikuj

Dodać obsługę wywoływania metod rozszerzeń w wyrażeniach lambda LINQ. W przypadku programu EF Core: 3-9.

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#. Dla programu EF Core: 3–8.

  • Pełna obsługa składni C# dla tworzenia zapytań: wiele instrukcji wewnątrz wyrażenia lambda, zmienne, funkcje 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

To automatycznie sprawi, że wszystkie nazwy tabel i kolumn będą mieć styl snake_case, wszystkie WIELKIE litery, lub wszystkie małe litery. W przypadku programu EF Core: 3-9.

Repozytorium GitHub | NuGet

EFCore.CheckConstraints

Ta wtyczka umożliwia wybranie pewnych ograniczeń kontroli — wystarczy ją aktywować i zostaną one utworzone automatycznie. Dla programu EF Core: 5-9.

Repozytorium GitHub | NuGet

SimplerSoftware.EntityFrameworkCore.SqlServer.NodaTime

Dodaje natywną obsługę pakietu EntityFrameworkCore dla SQL Server dla typów NodaTime. W przypadku programu EF Core: 3-9.

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

EntityFrameworkCore.ConfigurationManager

Rozszerza EF Core, aby rozwiązywać parametry połączenia z pliku App.config. Dotyczy EF Core w wersji: 3-9.

Repozytorium GitHub | NuGet

Oddzielony Mapper

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

Repozytorium GitHub | NuGet

EntityFrameworkCore.Sqlite.NodaTime

Dodaje obsługę typów NodaTime w przypadku korzystania z programu SQLite. Dla programu EF Core: 5-9.

Repozytorium GitHub | NuGet

ErikEJ.EntityFrameworkCore.SqlServer.Dacpac

Umożliwia reverse engineering modelu EF Core z pakietu aplikacji warstwy danych programu SQL Server (.DACPAC). Dla programu EF Core: 6-9.

Repozytorium GitHub | NuGet

ErikEJ.EntityFrameworkCore.DgmlBuilder

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

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. Dla programu EF Core: 3–8.

Repozytorium GitHub

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

Laraue.EfCoreTriggers

Fluent API do deklarowania wyzwalaczy w Context.OnModelCreating, które są później 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, które mają zostać sklonowane. W przypadku programu EF Core: 5–8.

Repozytorium GitHub | NuGet

Rozszerzenia Zomp 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

Narzędzie Ruler dla 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 enumów.
  • Obsługa EDMX w EF6, zapewniająca płynne, 3-etapowe przejście z EF6 do EF Core.

Dla platformy EF Core: 6-8.

Repozytorium GitHub | Narzędzie CLI NuGet | Projekt NuGet

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

Strona internetowa | Repozytorium GitHub | NuGet

EfCoreNexus.Framework

Program EfCoreNexus pomaga zintegrować rdzeń platformy Entity Framework z aplikacjami blazor. Dzięki refleksji automatycznie dodaje klasy jednostek i zapewnia im podstawowe funkcje CRUD, bez konieczności pisania dodatkowego kodu. Dla programu EF Core: 8.

Repozytorium GitHub | NuGet

Reconciler

Zaktualizuj graf jednostki w sklepie, wstawiając, aktualizując i usuwając odpowiednie jednostki. Dla programu EF Core: 6-7.

Repozytorium GitHub

AutoObliczanie

Utrwalone właściwości obliczeniowe w EF Core, które są automatycznie aktualizowane przy zapisywaniu zmian. Dla programu EF Core: 8.

Repozytorium GitHub | NuGet

EntityFrameworkCore.AuditInterceptor

Biblioteka, która zapewnia bezproblemowe możliwości inspekcji dla platformy Entity Framework Core. Automatycznie śledzi zmiany jednostek, w tym osoby, które dokonały zmian i kiedy zostały wprowadzone. Biblioteka integruje się z iniekcją zależności platformy .NET i obsługuje różne scenariusze inspekcji za pośrednictwem prostego procesu konfiguracji. Dla platformy EF Core: 6-8.

Repozytorium GitHub | NuGet

PhenX.EntityFrameworkCore.BulkInsert

Rozszerzenie wstawiania zbiorczego o wysokiej wydajności dla platformy Entity Framework Core. Obsługuje programy SQL Server, PostgreSQL, SQLite, MySQL i Oracle. Dla programu EF Core: 8-9.

Witryna internetowa | Repozytorium GitHub

SanderTenBrinke.EntityFrameworkCore.Extensions.SqlServer.DataMasking

Ten pakiet koncentruje się na dodawaniu obsługi maskowania danych dla programu SQL Server do programu EF Core. Dla programu EF Core: 8-9.

Repozytorium GitHub | NuGet

EfCommenter

Wszystkie podsumowania XML jednostek, właściwości i enumów zostaną dodane jako komentarze do odpowiednich tabel i kolumn bazy danych. Dla programu EF Core: 9.

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.

Aspiruj

Ulepsz lokalne doświadczenie programistyczne, upraszczając zarządzanie konfiguracją i interakcjami aplikacji natywnej dla chmury. W przypadku programu EF Core: 8-10.

Strona internetowa | Repozytorium GitHub | NuGet

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

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

EntityFrameworkCore.SqlServer.HierarchyId

Uwaga

Typ danych hierarchyid w SQL Server jest bezpośrednio obsługiwany w EF Core od wersji EF Core 8.

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

Repozytorium GitHub | NuGet

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.Triggered

Wyzwalacze dla EF Core. Reaguj na zmiany w swoim DbContextie przed i po ich zatwierdzeniu w bazie danych. Wyzwalacze są w pełni asynchroniczne i obsługują wstrzykiwanie zależności, dziedziczenie, kaskadowanie i nie tylko. W przypadku programu EF Core: 3–6.

Repozytorium GitHub | NuGet

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

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.

Repozytorium GitHub | NuGet

ErikEJ.EntityFrameworkCore.SqlServer.DateOnlyTimeOnly

Uwaga

Mapowanie SQL Server DateOnly i TimeOnly jest obsługiwane bezpośrednio w EF Core od EF Core 8.

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

Repozytorium GitHub | NuGet

nHydrate ORM dla 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. To nie jest zamiennik EF ani dedykowanego 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 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 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

EntityFrameworkCore.Extensions

Biblioteka rozszerzeń dla dynamicznego maskowania danych (SQL Server) oraz dla rozszerzeń MigrationBuilder i ModelBuilder. Dla programu EF Core: 5.

Zaktualizowany fork funkcji maskowania danych znajduje się w EntityFrameworkCore.Extensions.SqlServer.DataMasking

Repozytorium GitHub | NuGet

EFCore.SoftDelete

Implementacja miękkiego usuwania obiektów. W przypadku programu EF Core: 3–6.

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).
  • Tworzenie metod rozszerzeń, które są niezależne od poziomu zagnieżdżania.

Dla programu EF Core: 6-7.

LessCode.EFCore.SilnieTypizowanyId

Generator kodu źródłowego, który może automatycznie generować klasy z silnie typizowanymi identyfikatorami dla jednostek. Dla programu EF Core: 7.

Repozytorium GitHub