【发布时间】:2016-03-14 23:34:48
【问题描述】:
使用实体框架和 ASP.Net,我的实体模型之一是:
public class Records {
public bool IsPublic {get; set;}
// Some other properties
}
我已将模型更改为:
public class Records {
[obsolete]
public bool IsPublic {get; set;}
public RecordAccess AccessLevel {get; set;}
}
在哪里
public enum RecordAccess {Public, Private, Group };
这次迁移后,我需要根据IsPublic 列和其他一些表来初始化新列(AccessLevel)。
于是我写了c#代码初始化AccessLevel,放到Seed方法中。
注意
- 我想删除
IsPublic列,因为它不再被使用。 - 我正在处理 4 个不同的数据库:localdb、测试服务器、暂存服务器和生产服务器。这些数据库可能处于不同的状态。因此数据和表架构可能会有所不同。
问题
-
Seed方法是放置初始化的正确位置吗? (如果我从Record类中删除IsPublic,代码将不会被编译) - 如何将迁移和数据回滚到之前的状态?
【问题讨论】:
标签: c# entity-framework migration database-migration entity-framework-migrations