我想知道的是,对于不一定要进行模型更改但模型上的enum属性已更改的场景创建迁移是否有意义。我正在使用.NET 4.6.2
和Code-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()
对其进行管理。
谢谢,如果这是重复的话,请提前道歉-我无法通过搜索找到类似的问题。