EF数据库优先方法如何在生产表中添加新的非null列并在代码级别进行管理

时间:2018-08-30 14:09:04

标签: asp.net-mvc entity-framework entity-framework-6 ef-database-first

我的ASP.NET MVC 4应用程序使用Entity Framework 6和数据库优先方法。它已经在生产环境中,现在想向Deposit表中添加新列,并且该列不为null。生产表中已经有很多数据。

我应该如何以代码优先的方式管理此更改,有人可以帮助我吗?我应该怎么做,我是实体框架的新手。

1 个答案:

答案 0 :(得分:0)

如果您将继续使用数据库优先方法,则可以执行以下操作:

1)运行脚本以迁移数据库:

ALTER TABLE Deposit ADD <column_name> INT NULL
GO
UPDATE Deposit SET <a valid not null values for your column>
GO
ALTER TABLE Deposit  ALTER COLUMN <column_name> INT NOT NULL
GO

2)由于使用的是数据库优先方法,因此需要已附加到数据库的更新edmx模型(.edmx文件)。如果我没记错的话,可以从解决方案资源管理器的上下文菜单中完成。