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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
EFCore.BulkExtensions
Extensiones de EF Core para operaciones masivas (Insert, Update y Delete). Para EF Core: 2-8.
Bricelam.EntityFrameworkCore.Pluralizer
Agrega pluralización en tiempo de diseño. Para EF Core: 2-8.
Verify.EntityFramework
Extiende la comprobación para permitir las pruebas de instantáneas con Entity Framework. Para EF Core: 3-8.
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.
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.
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.
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.
Expressionify
Agregue compatibilidad para llamar a métodos de extensión en expresiones lambda LINQ. Para EF Core: 3-6.
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" .
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.
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.
SimplerSoftware.EntityFrameworkCore.SqlServer.NodaTime
Agrega compatibilidad nativa a EntityFrameworkCore para SQL Server para los tipos NodaTime. Para EF Core: 3-8.
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.
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.
EFCore.SoftDelete
Implementación de entidades de eliminación temporal. Para EF Core: 3-6.
EntityFrameworkCore.ConfigurationManager
Extiende EF Core para resolver cadenas de conexión de App.config. Para EF Core: 3-8.
Asignador desasociado
Un asignador de entidades DTO con control de composición/agregación (similar a GraphDiff). Para EF Core: 3-8.
EntityFrameworkCore.Sqlite.NodaTime
Agrega compatibilidad con los tipos NodaTime cuando se usa SQLite. Para EF Core: 5-8.
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.
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.
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.
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.
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.
EntityFrameworkCore.FSharp
Agrega compatibilidad en tiempo de diseño de F# a EF Core. Para EF Core: 5-6.
EntityFrameworkCore.VisualBasic
Agrega compatibilidad en tiempo de diseño de VB a EF Core. Para EF Core: 5-8.
Krzysztofz01.EFCore.QueryFilterBuilder
Extensión de Entity Framework que permite crear y administrar una serie de filtros de consulta. Para EF Core: 5-7.
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.
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.
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.
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.
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.
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.
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.
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.
AutoCompute
Propiedades calculadas persistentes en EF Core que se actualizan automáticamente al guardar los cambios. Para EF Core 8.
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.
GraphQL.EntityFramework
Agregue compatibilidad de IQueryable
con Entity Framework a GraphQL. Para EF Core: 6-8.
EntityGraphQL
Servidor de GraphQL con una estrecha integración de EntityFramework. Para EF Core: 5-8.
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.
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.
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.
Toolbelt.EntityFrameworkCore.IndexAttribute
Recuperación del atributo [Index] (con extensión para la creación de modelos). Para EF Core: 2-5.
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.
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.
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.
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.
Ramses
Enlaces de ciclo de vida (para SaveChanges). Para EF Core: 2-3.