【问题标题】:Update database schema from entities (without using entity framework migration) in .net core从 .net 核心中的实体更新数据库架构(不使用实体框架迁移)
【发布时间】:2019-02-10 19:08:58
【问题描述】:
我正在寻找一种工具(库或 nuget 包),它可以在我的实体和我的数据库表(SQL 服务器)之间提供差异脚本(以 SQL 服务器脚本格式(作为字符串或作为文件))和能够自动对数据库运行更改脚本或将更改脚本提供给用户并让用户决定如何处理。
对我来说最重要的是更改脚本(实体和表之间),但如果它能够手动和自动运行针对数据库的更改脚本,我会很高兴
EF 核心迁移是这样做的,但是我不想为此使用 EF 核心迁移,我不想使用 EF 核心复杂的迁移结构,我只需要一个更改脚本就可以了,所以我我正在寻找另一种满足我需求的替代 .net core 友好工具(我的意思是而不是 EF Core)
【问题讨论】:
标签:
c#
entity-framework
asp.net-core
asp.net-core-2.1
schema-compare
【解决方案1】:
虽然我看到您发现 EF 迁移过于复杂,但您需要使用的唯一参数是 From 和 To。您可以使用以下命令来创建输出脚本。
dotnet ef migrations script | out-file ./mig-script.sql
或
Script-Migration -From <PreviousMigration> -To <LastMigration>
【解决方案2】:
您应该使用数据库项目,并让它查找和发布架构更改。然后,您可以使用 EF Core Power Tools 生成 DbContext 和 Poco 类