带有数据库项目的EF Core工作流程

时间:2018-12-01 19:03:39

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

请随时告诉我,这个问题需要提出,我将予以解决。我只是不知道还能去哪里寻求帮助。

我当前的工作流程是:

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

每当我需要更改数据库时,请遵循以下步骤:

  1. 更改数据库项目
  2. 运行架构比较
  3. 验证并更新数据库Actual
  4. 使用-Force重新运行scaffold命令以重建所有模型。

我会遇到什么类型的问题(如果有)?

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

我一直都使用图形数据库工具,但是显然Core不再可用。

我也将Devart的实体开发人员视为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后消失。

1 个答案:

答案 0 :(得分:0)

那是EF Core正确的“数据库优先”工作流程,因此您不会在这种情况下使用迁移。确保将对您的实体或DbContext的自定义放置在单独的局部类文件中,这样在您重新生成实体时它们不会被破坏。

  

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

通过此工作流程,您可以使用想要用于数据库架构的任何图形设计工具。