Compartir a través de


Herramientas y extensiones de EF Core

Estas herramientas y extensiones proporcionan funcionalidad adicional para Entity Framework Core.

Importante

Las extensiones están compiladas a partir de una gran variedad de orígenes, por lo que su mantenimiento no está incluido en el proyecto Entity Framework Core. En lo que respecta a las extensiones de terceros y para asegurarse de que cumplan sus requisitos, no se olvide de evaluar la calidad, las licencias, la compatibilidad, el soporte técnico, etc. En concreto, es posible que sea necesario actualizar una extensión compilada para una versión anterior de EF Core para que funcione con las versiones más recientes.

Herramientas

EF Core Power Tools

EF Core Power Tools es una extensión de Visual Studio que expone varias tareas de tiempo de diseño de EF Core en una interfaz de usuario sencilla. Incluye técnicas de ingeniería inversa de DbContext y clases de entidades a partir de bases de datos existentes y DACPAC de SQL Server, así como la administración de la migración de bases de datos y la visualización de modelos. Para EF Core: 6-8.

Wiki de GitHub

CLI de EF Core Power Tools

La CLI de EF Core Power Tools es una herramienta de línea de comandos global de .NET. Permite la utilización de técnicas de ingeniería inversa de dbContext y clases de entidad de bases de datos existentes y DACPACs de SQL Server. Para EF Core: 6-8.

NuGet

LLBLGen Pro

LLBLGen Pro es una solución de modelado de entidad compatible con Entity Framework y Entity Framework Core. Permite definir fácilmente el modelo de entidad y asignarlo a la base de datos mediante Database First o Model First, de modo que pueda empezar a escribir consultas de inmediato. Para EF Core: 2-8.

Sitio web

Devart Entity Developer

Entity Developer es un potente diseñador O/RM para ADO.NET Entity Framework, NHibernate, LinqConnect, Telerik Data Access y LINQ to SQL. Permite diseñar modelos EF Core de forma visual mediante los enfoques Database First y Model First, así como generar código C# y de Visual Basic. Para EF Core: 2-7.

Sitio web

DevMagic EF Core Sidekick

EF Core Sidekick es una extensión de Visual Studio que mejora la eficacia de la generación automática de código en Visual Studio. Proporciona un conjunto de herramientas y plantillas para generar entidades EF Core y DbContext derivados de la base de datos existente y, a continuación, generar servicios y API de REST a partir de las entidades. Para EF Core: 6-8.

Sitio web de |Visual Studio Marketplace

Editor visual de Entity Framework

El Editor de objetos visuales de Entity Framework es una extensión de Visual Studio que agrega un diseñador O/RM que permite generar objetos visuales de las clases EF 6 y EF Core. El código se genera mediante plantillas T4, por lo que se puede personalizar. Asimismo, admite enumeraciones y asociaciones de herencia, unidireccionales y bidireccionales, y permite asignar colores a las clases y agregar bloques de texto para explicar ciertas partes del diseño que puedan resultar difíciles de comprender. Para EF Core: 2-8.

Visual Studio Marketplace

IWAPI

IWAPI (Instant Web API) es un motor de andamiaje de .NET Core que puede automatizar la generación de clases DbContext, entidades y modelos, y crea una API web funcional a partir de cualquier base de datos de SQL Server.

Sitio web

efmig

efmig es una aplicación de GUI multiplataforma que acelera el desarrollo diario al trabajar con Entity Framework Core. Trata los casos de uso más populares, como el código de migración y la generación de scripts con una interfaz simple de un solo clic. Para EF Core: 2-8.

Repositorio de GitHub

EFCore.Visualizer

Con el visualizador del depurador del plan de consulta de Entity Framework Core, puede ver el plan de consulta de las consultas directamente dentro de Visual Studio. Actualmente, el visualizador admite SQL Server y PostgreSQL. Para EF Core: 7-8.

Visual Studio Marketplace

Extensiones

Microsoft.EntityFrameworkCore.AutoHistory

Biblioteca de extensiones que permite registrar automáticamente los cambios en los datos realizados por EF Core e incluirlos en una tabla a modo de historial. Para EF Core: 2-6.

Repositorio de GitHub | NuGet

EFCoreSecondLevelCacheInterceptor

El almacenamiento en caché de segundo nivel es una caché de consulta. Los resultados de los comandos de EF se almacenarán en la memoria caché, para que los mismos comandos de EF recuperen los datos de la memoria caché en lugar de ejecutarlos de nuevo en la base de datos. Para EF Core: 3-8.

Repositorio de GitHub | NuGet

EntityFrameworkCore.Scaffolding.Handlebars

Permite la personalización de clases con ingeniería inversa a partir de una base de datos existente mediante la cadena de herramientas de Entity Framework Core con las plantillas de Handlebars. Para EF Core: 2-8.

Repositorio de GitHub | NuGet

NeinLinq.EntityFrameworkCore

NeinLinq amplía las características de proveedores LINQ como Entity Framework para permitir la reutilización de las funciones, la reescritura de las consultas y la creación de consultas dinámicas mediante selectores y predicados traducibles. Para EF Core: 3-8.

Repositorio de GitHub | NuGet

EFCore.BulkExtensions

Extensiones de EF Core para operaciones masivas (Insert, Update y Delete). Para EF Core: 2-8.

Repositorio de GitHub | NuGet

Bricelam.EntityFrameworkCore.Pluralizer

Agrega pluralización en tiempo de diseño. Para EF Core: 2-8.

Repositorio de GitHub | NuGet

Verify.EntityFramework

Extiende la comprobación para permitir las pruebas de instantáneas con Entity Framework. Para EF Core: 3-8.

Repositorio de GitHub | NuGet

LocalDb

Proporciona un contenedor alrededor de SQL Server Express LocalDB para simplificar las pruebas en ejecución en Entity Framework. Para EF Core: 3-8.

Repositorio de GitHub | NuGet

EntityFrameworkCore.Projectables

Magic de proyección flexible para EF Core. Use propiedades, métodos y métodos de extensión en la consulta sin evaluación de cliente. Para EF Core: 3-6, 8.

Repositorio de GitHub | NuGet

EntityFrameworkCore.Triggered

Desencadenadores para EF Core. Responda a los cambios en DbContext antes y después de que se confirmen en la base de datos. Los desencadenadores son totalmente asincrónicos y admiten la inserción de dependencias, la herencia, las funciones en cascada y mucho más. Para EF Core: 3-6.

Repositorio de GitHub | NuGet

Entity Framework Plus

Amplía su DbContext con características como: Incluir filtro, Auditoría, Cache, Consulta de futuro, Batch Delete, Actualización por lotes y más. Para EF Core: 2-8.

Sitio web | Repositorio de GitHub | NuGet

Extensiones de Entity Framework

Extiende su DbContext con operaciones masivas de alto rendimiento: BulkSaveChanges, BulkInsert, BulkUpdate, BulkDelete, BulkMerge y más. Para EF Core: 2-8.

Sitio web | NuGet

Expressionify

Agregue compatibilidad para llamar a métodos de extensión en expresiones lambda LINQ. Para EF Core: 3-6.

Repositorio de GitHub | NuGet

EntityLinq

Tecnología Language Integrated Query (LINQ) alternativa (no basada en MS) para bases de datos relacionales. Permite usar C# para escribir consultas SQL fuertemente tipadas. Para EF Core: 3-8.

  • Compatibilidad total de C# con la creación de consultas: varias instrucciones dentro de lambda, variables, funciones, etc.
  • Sin vacío semántico con SQL. EntityLinq declara las instrucciones SQL (como SELECT, FROM, WHERE) como métodos de C# de primera clase, y combina la sintaxis conocida con IntelliSense, seguridad de tipos y refactorización.

Como resultado, SQL se convierte en "otra" biblioteca de clases que expone su API localmente, literalmente "Language Integrated SQL" .

Sitio web | NuGet

EFCore.NamingConventions

Todos los nombres de tabla y columna tendrán automáticamente un formato con palabras combinadas unidas por barras bajas (snake_case), todo en MAYÚSCULAS o bien todo en minúsculas. Para EF Core: 3-8.

Repositorio de GitHub | NuGet

EFCore.CheckConstraints

Este complemento permite participar en algunas restricciones de comprobación: solo tiene que activarlo y se crearán automáticamente. Para EF Core: 5-8.

Repositorio de GitHub | NuGet

SimplerSoftware.EntityFrameworkCore.SqlServer.NodaTime

Agrega compatibilidad nativa a EntityFrameworkCore para SQL Server para los tipos NodaTime. Para EF Core: 3-8.

Repositorio de GitHub | NuGet

EntityFrameworkCore.SqlServer.HierarchyId

Nota:

El tipo de datos hierarchyid de SQL Server se admite directamente en EF Core a partir de EF Core 8.

Agrega compatibilidad con hierarchyid al proveedor de EF Core de SQL Server. Para EF Core: 3-7.

Repositorio de GitHub | NuGet

linq2db.EntityFrameworkCore

Traductor alternativo de consultas LINQ a expresiones SQL. Para EF Core: 2-8.

Incluye compatibilidad con características SQL avanzadas como CTE, copia masiva, sugerencias de tabla, funciones de división de particiones, tablas temporales y operaciones de creación, actualización y eliminación en la base de datos.

Repositorio de GitHub | NuGet

EFCore.SoftDelete

Implementación de entidades de eliminación temporal. Para EF Core: 3-6.

Repositorio de GitHub | NuGet

EntityFrameworkCore.ConfigurationManager

Extiende EF Core para resolver cadenas de conexión de App.config. Para EF Core: 3-8.

Repositorio de GitHub | NuGet

Asignador desasociado

Un asignador de entidades DTO con control de composición/agregación (similar a GraphDiff). Para EF Core: 3-8.

Repositorio de GitHub | NuGet

EntityFrameworkCore.Sqlite.NodaTime

Agrega compatibilidad con los tipos NodaTime cuando se usa SQLite. Para EF Core: 5-8.

Repositorio de GitHub | NuGet

ErikEJ.EntityFrameworkCore.SqlServer.Dacpac

Habilita la utilización de técnicas de ingeniería inversa en un modelo de EF Core a partir de un paquete de aplicación de capa de datos de SQL Server (.dacpac). Para EF Core: 6-8.

Repositorio de GitHub | NuGet

ErikEJ.EntityFrameworkCore.DgmlBuilder

Genera contenido de DGML (Graph) que visualiza su DbContext. Agrega el método de extensión AsDgml() a la clase DbContext. Para EF Core: 6-7.

Repositorio de GitHub | NuGet

ErikEJ.EntityFrameworkCore.SqlServer.SqlQuery

Nota:

Las consultas SQL sin procesar en tipos no asignados se admiten directamente en EF Core a partir de EF Core 8.

Proporciona los métodos SqlQueryAsync<T> y SqlQueryValueAsync<T> para ayudarle a rellenar clases arbitrarias o una lista de tipos primitivos de una consulta SQL sin formato. Para EF Core: 6-7.

Repositorio de GitHub | NuGet

ErikEJ.EntityFrameworkCore.SqlServer.DateOnlyTimeOnly

Nota:

La asignación DateOnly y TimeOnly de SQL Server se admite directamente en EF Core a partir de EF Core 8.

Use los tipos de .NET DateOnly y TimeOnly con el proveedor de SQL Server de EF Core. Para EF Core: 6-7.

Repositorio de GitHub | NuGet

EntityFramework.Exceptions

Cuando se usa Entity Framework Core, todas las excepciones de base de datos se ajustan en DbUpdateException. EntityFramework.Exceptions controla todos los detalles específicos de la base de datos para averiguar qué restricción se ha infringido y permite usar excepciones con tipo como UniqueConstraintException, CannotInsertNullException, MaxLengthExceededException, NumericOverflowException, ReferenceConstraintException cuando la consulta infringe las restricciones de la base de datos.

Admite SQL Server, Postgres, MySql, SQLite y Oracle. Para EF Core: 3-8.

Repositorio de GitHub

EntityFrameworkCore.FSharp

Agrega compatibilidad en tiempo de diseño de F# a EF Core. Para EF Core: 5-6.

Repositorio de GitHub | NuGet

EntityFrameworkCore.VisualBasic

Agrega compatibilidad en tiempo de diseño de VB a EF Core. Para EF Core: 5-8.

Repositorio de GitHub | NuGet

Krzysztofz01.EFCore.QueryFilterBuilder

Extensión de Entity Framework que permite crear y administrar una serie de filtros de consulta. Para EF Core: 5-7.

Repositorio de GitHub

Pagination.EntityFrameworkCore.Extensions

Se trata de una biblioteca para la paginación en EntityFrameworkCore. Funciona bien con Entity Framework Core como una extensión y admite tanto el método asincrónico como el sincrónico. También tiene muchas características útiles que se usan habitualmente, especialmente en el desarrollo web. Para EF Core: 2-7.

Repositorio de GitHub | NuGet

Laraue.EfCoreTriggers

API fluida para declarar desencadenadores en Context.OnModelCreating que posteriormente se implementan en migraciones. Proveedores de Postgres, MySQL, SQL Server y SQLite. Para EF Core: 5-8.

Repositorio de GitHub | NuGet

EntityCloner.Microsoft.EntityFrameworkCore

Clonación de entidades mediante la configuración de EF Core. Puede usar el método Include para especificar los datos relacionados que deben clonarse. Para EF Core: 5-8.

Repositorio de GitHub | NuGet

Extensiones de Zomp EF Core

Proporciona funciones de ventana (análisis) y funciones binarias para EF Core. Proveedores: SQL Server, SQLite y PostgreSQL. Para EF Core: 6-8.

Repositorio de GitHub | NuGet

Ainoraz.EFCore.IncludeBuilder

Extensión para EF Core que proporciona sintaxis Include alternativa para admitir mejor los escenarios siguientes:

  • Cargar varias entidades en el mismo nivel (elementos del mismo nivel).
  • Escribir métodos de extensión que sean independientes del nivel de anidamiento.

Para EF Core: 6-7.

Repositorio de GitHub | NuGet

Regla de Entity Framework

Agrega personalización en tiempo de diseño del modelo de ingeniería inversa, que incluye:

  • Nomenclatura de clases, propiedades y navegación.
  • Omisión del scaffolding de cualquier esquema, tabla o columna.
  • Invalidación de tipos de propiedad, especialmente para enumeraciones.
  • Compatibilidad con EF6 EDMX, lo que proporciona una ruta de actualización fluida en 3 pasos de EF6 a EF Core.

Para EF Core: 6-8.

Repositorio de | GitHub Herramienta de la CLI NuGet | NuGet de diseño

LessCode.EFCore.StronglyTypedId

Generador de origen que puede generar clases strongly-typed-id automáticamente para entidades. Para EF Core: 7.

Repositorio de GitHub

Microsoft.EntityFrameworkCore.DynamicLinq

La biblioteca LINQ dinámica permite ejecutar una consulta con cadena dinámica y proporcionar algunos métodos de utilidades como ParseLambda, Parse y CreateClass. Para EF Core: 2-8.

Sitio web | Repositorio de GitHub | NuGet

EfCoreNexus.Framework

EfCoreNexus ayuda a integrar Entity Framework Core en aplicaciones Blazor. A través de la reflexión, agrega automáticamente las clases entity y proporciona funcionalidad crud básica para ellas sin escribir código adicional.

Para EF Core 8.

Repositorio de GitHub | NuGet

Reconciliador

Actualice un gráfico de entidades en el almacén a uno específico mediante la inserción, actualización y eliminación de las entidades correspondientes. Para EF Core: 6-7.

Repositorio de GitHub

AutoCompute

Propiedades calculadas persistentes en EF Core que se actualizan automáticamente al guardar los cambios. Para EF Core 8.

Repositorio de GitHub | NuGet

Integraciones de API

Estos paquetes están diseñados para integrarse directamente con EF Core para exponer varias API.

.NET Aspire

Mejore la experiencia de desarrollo local al simplificar la administración de la configuración e interconexión de la aplicación nativa de la nube. Para EF Core 8.

Sitio web | Repositorio de GitHub | NuGet

HotChocolate

Cree un punto de conexión de GraphQL sobre cualquier recurso.

Repositorio de GitHub | NuGet

GraphQL.EntityFramework

Agregue compatibilidad de IQueryable con Entity Framework a GraphQL. Para EF Core: 6-8.

Repositorio de GitHub | NuGet

EntityGraphQL

Servidor de GraphQL con una estrecha integración de EntityFramework. Para EF Core: 5-8.

Repositorio de GitHub | NuGet

OData

Estándar para implementar una serie de API REST con especificaciones de detección, filtrado, ordenación, proyecciones, navegaciones, operaciones masivas y más.

Repositorio de GitHub | NuGet

Extensiones para versiones de EF Core no admitidas

nHydrate ORM para Entity Framework

O/RM que crea clases extensibles y fuertemente tipadas para Entity Framework. El código generado es Entity Framework Core. No hay ninguna diferencia. Esto no es un reemplazo de EF ni un O/RM personalizado. Es una capa de modelado visual que permite a un equipo administrar esquemas de base de datos complejos. Funciona bien con software SCM como GIT, lo que permite el acceso de varios usuarios al modelo con conflictos mínimos. El instalador realiza un seguimiento de los cambios del modelo y crea scripts de actualización. Para EF Core: 3.

Repositorio de GitHub

Microsoft.EntityFrameworkCore.UnitOfWork

Extensión de Microsoft.EntityFrameworkCore para admitir los repositorios, los patrones de unidades de trabajo y varias bases de datos compatibles con las transacciones distribuidas. Para EF Core: 2-3.

Repositorio de GitHub

Toolbelt.EntityFrameworkCore.IndexAttribute

Recuperación del atributo [Index] (con extensión para la creación de modelos). Para EF Core: 2-5.

Repositorio de GitHub | NuGet

EfCoreTemporalTable

Nota

Las tablas temporales de SQL Server son compatibles directamente en EF Core desde la versión EF Core 6.

Realice consultas temporales fácilmente en su base de datos favorita con los métodos de extensión incorporados: AsTemporalAll(), AsTemporalAsOf(date), AsTemporalFrom(startDate, endDate), AsTemporalBetween(startDate, endDate), AsTemporalContained(startDate, endDate). Para EF Core: 3-5.

Repositorio de GitHub | NuGet

EntityFrameworkCore.TemporalTables

Nota

Las tablas temporales de SQL Server son compatibles directamente en EF Core desde la versión EF Core 6.

Biblioteca de extensiones para Entity Framework Core que permite a los desarrolladores que usan SQL Server utilizar fácilmente tablas temporales. Para EF Core: 2-5.

Repositorio de GitHub | NuGet

Dabble.EntityFrameworkCore.Temporal.Query

Nota

Las tablas temporales de SQL Server son compatibles directamente en EF Core desde la versión EF Core 6.

Extensiones LINQ en Entity Framework Core 3.1 para admitir la realización de consultas a tablas temporales de Microsoft SQL Server. Para EF Core: 3.

Repositorio de GitHub | NuGet

EntityFrameworkCore.NCache

NCache de Entity Framework Core es un proveedor de caché de segundo nivel distribuido para almacenar en caché resultados de consultas. La arquitectura distribuida de NCache hace que sea más escalable y de alta disponibilidad. Para EF Core: 2-3.

Sitio web | NuGet

Ramses

Enlaces de ciclo de vida (para SaveChanges). Para EF Core: 2-3.

Repositorio de GitHub | NuGet