实体框架迁移,无需更改模型

时间:2019-09-18 15:08:08

标签: c# entity-framework ef-migrations

我想知道的是,对于不一定要进行模型更改但模型上的enum属性已更改的场景创建迁移是否有意义。我正在使用.NET 4.6.2Code-First Entity Framework

我有以下EF跟踪的日志模型:

[Table("Logs")]
public class Log
{
    public int Id { get; set; }
    public DateTime Timestamp { get; set; }
    public LogType Type { get; set; } 
}

LogType枚举当前具有大约40个值,其中13个已过时或不推荐使用。我正在经历删除对过时/过时的枚举值的引用的过程。

因此,LogType枚举的值正在更改。例如,LogType.ConnectionTimeout以前具有值16,但现在具有值3

在我的数据库(MSSQL)中,Type列存储为一个int,并且我编写了SQL,该SQL删除了具有已过时/已弃用的枚举值的所有条目,并且我还编写了用于更新另一个的SQL。枚举值以匹配其新值(例如,使用我之前的Type.ConnectionTimeout示例将16更改为3)。

我的问题是:将SQL进行能够Up()Down()进行的迁移是否是一种好习惯?我的另一个问题是,那可能吗?还是需要进行实际的模型更改才能创建迁移?我希望能够将此SQL跟踪并存储在版本控制中,并希望将来能够Up()Down()对其进行管理。

谢谢,如果这是重复的话,请提前道歉-我无法通过搜索找到类似的问题。

0 个答案:

没有答案