Asp.net mvc EF数据库第一种方法是如何向生产表中添加新的NOTNULL列并在代码级别进行管理

Asp.net mvc EF数据库第一种方法是如何向生产表中添加新的NOTNULL列并在代码级别进行管理,asp.net-mvc,entity-framework,entity-framework-6,ef-database-first,Asp.net Mvc,Entity Framework,Entity Framework 6,Ef Database First,我的ASP.NET MVC 4应用程序使用实体框架6和数据库优先的方法。它已经在生产环境中,现在想要向存款表添加新列,并且该列不为空。生产表已经有很多数据了 在代码优先的方法中,我应该如何管理这些更改,有人能帮我吗?我该怎么办,我对实体框架还不熟悉。如果您继续使用数据库优先的方法,您可以这样做: 1) 运行脚本以迁移数据库: ALTER TABLE Deposit ADD <column_name> INT NULL GO UPDATE Deposit SET <a valid

我的ASP.NET MVC 4应用程序使用实体框架6和数据库优先的方法。它已经在生产环境中,现在想要向
存款表添加新列,并且该列不为空。生产表已经有很多数据了


在代码优先的方法中,我应该如何管理这些更改,有人能帮我吗?我该怎么办,我对实体框架还不熟悉。

如果您继续使用数据库优先的方法,您可以这样做:

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
ALTER TABLE Deposit ADD INT NULL
去
更新存款集
去
ALTER表存放ALTER列INT不为空
去

2) 由于您使用的是db first方法,因此需要更新已附加到db的
edmx
模型(
.edmx
文件)。如果我没记错的话,您可以从解决方案资源管理器的上下文菜单中执行此操作。

是否要将数据库优先方法更改为代码优先方法?现在如何迁移数据库更改?手工使用DbGhost/Redgate/Apex之类的工具?我假设您没有使用ef迁移,因为您是ef的新手。不,我没有先改变编码方法,也没有使用任何工具,只是想处理这种情况,但作为ef的新手,我不知道如何做到这一点