【问题标题】:Workflow for EF Core with Database Project带有数据库项目的 EF Core 工作流
【发布时间】:2018-12-02 03:34:25
【问题描述】:

请随时告诉我这个问题需要移动,我会移动它。我只是不知道该去哪里寻求帮助。

我目前的工作流程是:

  1. 先创建数据库(数据库实际)
  2. 运行创建我的模型的脚手架命令
  3. 创建 Visual Studio 数据库项目
  4. 导入数据库(数据库项目)

每当我需要对数据库进行更改时,我都会遵循以下操作:

  1. 更改数据库项目
  2. 运行架构比较
  3. 验证并更新数据库实际
  4. 重新运行带有 -Force 的脚手架命令以重建所有模型。

我会让自己面临哪些(如果有的话)类型的问题?

我没有看到数据库迁移的价值,因为我首先更新数据库,而是使用数据库项目来提供源代码控制和一些保护。

我一直使用图形数据库工具,但显然使用 Core 已不再是一种选择。

我也将 Devart 的 Entity Developer 视为 ORM。

非常感谢您的想法和反馈。

所以最大的问题是当我需要对模型进行更改时会发生什么。

那么简单,比如:

 public partial class UserInfo
{
    public int Id { get; set; }
    [Required]
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string UserName { get; set; }
    public string Password { get; set; }
    public DateTime RecordCreated { get; set; }
}

我的 '[Required]' 将在 -force 之后不知不觉地消失了。

【问题讨论】:

    标签: sql-server visual-studio entity-framework-core


    【解决方案1】:

    对于 EF Core,这是正确的“数据库优先”工作流,在这种情况下您不会使用迁移。请务必将您的实体或 DbContext 的自定义设置在单独的部分类文件中,以便在您重新生成实体时它们不会被破坏。

    一直使用图形数据库工具,但显然使用 Core 已不再是一种选择。

    通过此工作流程,您可以使用任何图形设计工具来创建数据库架构。

    【讨论】:

    • 你的意思是如果我在模型类中添加 [Required] 或其他验证?那时候我想过那个。我该怎么做?如果你能指出一些对我有帮助的东西。我也会更新我的问题。
    • 这回答了我的问题。我会将附加部分作为新问题发布。谢谢。
    • David Browne,我仍在尝试弄清楚如何进行部分课程。这在理论上听起来很容易,但我就是无法让它发挥作用。我在这里有一个悬而未决的问题:stackoverflow.com/questions/53574640/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-07
    • 1970-01-01
    • 2022-07-26
    • 1970-01-01
    • 1970-01-01
    • 2021-12-28
    相关资源
    最近更新 更多