随着开源社区的活跃,很多第三方的工具和扩展为 Framework Core 提供了更多的附加功能,使用这些工具时, 请务必评估质量、授权、兼容性和技术支持等因素。
相关工具
LLBLGen Pro (商业)
一种实体建模解决方案,包含对 Entity Framework 和 Entity Framework Core 的支持,借助它可轻松通过 Database First 或Model First 定义实体模型并将其映射到数据库中。网站
Devart Entity Developer(商业)
一种用于 ADO.NET 实体框架、NHibernate、LinqConnect、Telerik 数据访问的强大 ORM 设计器,它支持 EF Core
模型的直观设计、使用“模型优先”或“数据库优先”的方式,还支持 C# 代码生成。网站
EF Core Power Tools
一个 Visual Studio 扩展插件,它通过简单界面向用户公开各种 EF Core 设计时任务,其中包括生成现有数据的
DbContext 代码和实体类的反向工程、对数据库迁移的管理,以及模型可视化效果等。GitHub wiki
Entity Framework Visual Editor
一种 Visual Studio 扩展,其中增添了 ORM 设计器用于 EF 6 和 EF Core 类的可视化设计,代码是通过 T4 模板生成的,因此可自定义来满足任意需求。 它支持继承、单向和双向关联,支持枚举,还能用颜色标识类并添加文本块来解释潜在不可预测的设计部分。GitHub
CatFactory
一种面向 .NET Core 的基架引擎,它可自动基于 SQL Server 数据库生成 DbContext 类、实体、映射配置和仓储模式库。GitHub 存储库
LoreSoft 的 Entity Framework Core 生成器
一种 .NET Core CLI 工具,可基于现有数据库生成 EF Core 模型,其功能与 dotnet ef dbcontext scaffold 很相似,但它还支持通过部分类替换或分析映射文件来实现安全代码的重新生成。 此工具支持生成视图模型、验证和对象映射器代码。教程 文档
dotnet tool install --global EntityFrameworkCore.Generator
efg generate -c <ConnectionString>
相关扩展
Microsoft.EntityFrameworkCore.AutoHistory
一个插件库,它可用于将 EF Core 执行的数据更改自动记录到历史记录表中。
Microsoft.EntityFrameworkCore.DynamicLinq
System.Linq.Dynamic 的一个 .NET Core/.NET Standard 端口,其中包含 EF Core 异步支
持。 System.Linq.Dynamic 最初用作一个 Microsoft 示例,它展示了如何基于字符串表达式(而非代码)动态构造 LINQ 查询。GitHub 存储库
EFSecondLevelCache.Core
一个扩展,它可将 EF Core 查询的结果存储到二级缓存中,使后续执行相同查询时无需访问数据库,而是直接从缓存中检索数据。GitHub 存储库
EntityFrameworkCore.PrimaryKey
借助此库,可从任何用作字典的实体中检索主键(包括复合键)的值。GitHub 存储库
EntityFrameworkCore.TypedOriginalValues
借助此库,可对实体属性的原始值进行强类型访问。GitHub 存储库
Geco
Geco(生成器控制台)是一个基于控制台项目的简单代码生成器,它在.NET Core 上运行并使用 C# 内插字符串来生成代码。 Geco 提供面向 EF Core 的反向模型生成器,并支持复数形式、单数形式和可编辑的模板。 它还支持种子数据脚本生成器、脚本运行器和数据库清理器。GitHub 存储库
LinqKit.Microsoft.EntityFrameworkCore
LinqKit.Microsoft.EntityFrameworkCore 是LINQKit 库的 EF Core 兼容版本。 LINQKit 是LINQ 的一组免费扩展,面向的是 SQL 和 Entity Framework 超级用户。 它可实现高级功能,例如谓词表达式的动态构建,以及在子查询中使用表达式变量。GitHub 存储库
NeinLinq.EntityFrameworkCore
NeinLinq 扩展了 Entity Framewor 等LINQ 提供程序,让用户能够使用可转换谓词和选择器重复使用函数、重新编写查询并构建动态查询。GitHub 存储库
Microsoft.EntityFrameworkCore.UnitOfWork
Microsoft.EntityFrameworkCore 的一个插件,它支持存储库、工作模式单元,并支持多个具有具有所支持分布式事务的数据库。GitHub 存储库
EFCore.BulkExtensions
用于批量操作(插入、更新和删除)的 EF Core 插件。GitHub 存储库
Bricelam.EntityFrameworkCore.Pluralizer
将设计时复数形式添加到 EF Core。GitHub 存储库
Pomelo.EntityFrameworkCore.Extensions.ToSql
一个简单扩展方法,它获取 EF Core 将在简单方案中为给定 LINQ 查询生成的 SQL 语句。 仅可在简单方案中使用
ToSql 方法,因为 EF Core 可为一个 LINQ 查询生成多个 SQL 语句,而具体的 SQL 语句由参数值而定。GitHub 存储库
Toolbelt.EntityFrameworkCore.IndexAttribute
恢复 EF Core 的[Index] 属性(带有用于模型构建的扩展)。 GitHub 存储库
EfCore.InMemoryHelpers
提供一个面向 EF Core 内存中数据库提供程序的包装器。 使其功能与关系提供程序更类似。GitHub 存储库
EFCore.TemporalSupport
EF Core 临时表支持的一个实现。GitHub 存储库
EntityFrameworkCore.Cacheable
EF Core 的高性能二级查询缓存。GitHub 存储库
Entity Framework Plus
扩展 DbContext 的功能,例如:包括筛选器、审核、缓存、查询未来、成批删除、批量更新等。网站 GitHub 存储库
Entity Framework Extensions(商业)
通过高性能批量操作扩展 DbContext:BulkSaveChanges、BulkInsert、BulkUpdate、BulkDelete、BulkMerge 等。网站