【问题标题】:AspnetCore updated from database从数据库更新 Asp net Core
【发布时间】:2017-07-04 19:08:13
【问题描述】:

我正在使用 AspNetCore 和 Entity Framework 核心。

我对现有数据库进行了更改,我希望这些更改反映在我的代码中。
在实体框架的早期版本中,我会执行“从数据库更新”。
我已经阅读了很多关于迁移的内容,但它们似乎都向我展示了如何进行初始迁移。

那么如何使用数据库中的更改来更新我的代码库?

【问题讨论】:

  • EF Core 是 code first。您首先更改模型,迁移将提供更新数据库的机制。您可以先从现有数据库中执行代码,在该数据库中进行逆向工程以获取初始代码,然后您将切换到向前迁移。
  • 真的,没有机会像以前那样做吗?如果你问我,那是退后一步。
  • 我来自数据库背景,一开始很抗拒,但现在对我来说更有意义了,我很少遇到我不能先做代码的事情。没有理由不能在 .NET Core 中执行 EF6 - 很多都是。
  • 您是否发现直接在数据库上进行适当的数据库设计而不是从您编写的代码中猜测 EF Core 将对您的数据库做什么更容易?
  • 也许可以作为一个起点。最初发布后我的大部分更改都是相当小的调整。与往常一样,这取决于项目。很多discussion 在这个问题上。

标签: entity-framework aspnetcoretemplatepack


【解决方案1】:

EF Core 不支持数据库优先模型,包括 herehere 在内的许多地方都已讨论过。

如果您使用 EF Core 遵循代码优先模型,则可以通过对数据库进行逆向工程来获得初始模型,如 here 所述。然后,您将使用迁移从那里更新您的数据库,如 here 所述。

如果您更喜欢以数据为中心的方法,您可以考虑使用database projects 来维护架构。您需要手动保持模型同步,但您可以对各个表进行逆向工程以缓解问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-10
    • 1970-01-01
    • 1970-01-01
    • 2021-06-11
    • 2016-10-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多