我首先使用代码创建了我的mvc 4应用程序,因此现在生成数据库和表我想删除我的表的一列(从后端)。所以我只想知道是否有任何方法可以根据数据库的变化自动在我的代码中进行更改。
答案 0 :(得分:1)
使用迁移技术通过包管理器控制台
PM> enable-migrations -EnableAutomaticMigrations
在代码配置中执行以下操作
public Configuration()
{
AutomaticMigrationsEnabled = true;
AutomaticMigrationDataLossAllowed = true;
}
现在,当模型更改执行以下操作时。
PM> update-database
通过代码
完成为您的数据库使用DropCreateDatabaseAlways初始化程序。它将始终在应用程序域中首次使用上下文时重新创建数据库:
Database.SetInitializer(new DropCreateDatabaseAlways<YourContextName>());
实际上,如果要为数据库设定种子,那么创建自己的初始化程序,它将从DropCreateDatabaseAlways继承:
public class MyInitializer : DropCreateDatabaseAlways<YourContextName>
{
protected override void Seed(MagnateContext context)
{
// seed database here
}
}
在首次使用上下文之前设置它
Database.SetInitializer(new MyInitializer());
答案 1 :(得分:0)
如果您使用的是代码优先技术,那么从模型中删除列并运行迁移脚本(google it),这将从数据库中删除列。但你想要的是反向,我不确定是否可以做到。