实体框架7迁移后更新DbContext

时间:2016-01-30 21:00:20

标签: c# entity-framework dbcontext entity-framework-core ef-migrations

我有一个现有的数据库和新的WPF项目。

1)我用Scaffold-DbContext搭建数据库上下文并收到 DbContext.cs ,并为每个代表数据库表的实体提供一个文件。没关系。 以下是其中一个示例:

public partial class SomeEntity
    {
        public long SomeEntityID { get; set; }
        public int SomeInt { get; set; }
    }

2)我手动更新了这个实体( DbContext.cs 没有变化):

public partial class SomeEntity
    {
        public long SomeEntityID { get; set; }
        public int SomeInt { get; set; }
        public string SomeString { get; set; }
    }

3)我使用了Add-Migration命令。现在我有一个描述所需更改的迁移文件和 DbContextSnapshot.cs 。快照包含我刚刚使用SomeEntity所做的更改。数据库未更新。

4)我使用了Update-Database命令。更新数据库以匹配上次迁移。但我的 DbContext.cs 对DB的更改一无所知。它仍然是我在脚手架DB之后的旧版DbContext。

这样好吗?我现在应该手动更改DbContext以匹配我对我的实体所做的更改并将它们应用到数据库吗?没有'rescaffolding'的更改后,有没有办法从DB更新 DbContext.cs ? (因为,例如,实体文件中的所有注释和属性都将丢失,因为如果我再次使用Scaffold-DbContext,它们将被替换为新的

1 个答案:

答案 0 :(得分:1)

您必须再次运行scaffolding,但请记住生成的类是部分的,因此您可以将更改放在另一个文件中

相关问题