添加新列到数据库并更新我的模型但我想更新已存在的行,因为添加了新列

时间:2014-05-14 12:48:32

标签: asp.net-mvc entity-framework-5

向数据库添加新列并更新我的模型但我想更新已存在的行,因为添加了新列。

id|Name City
1 |A   |Null
2 |B   |Null
3 |C   |Null

我想在程序上设置此城市列对于新条目添加工作正常添加例如如果创建视图渲染它设置城市列但我想为所有现成的行设置它。

1 个答案:

答案 0 :(得分:0)

如果您使用自动迁移:

添加新字段时,您可以使用[DefaultValue]属性。

或者:

您可以运行更新 SQL脚本

UPDATE table_name
SET City='SomeDefaultValue'
WHERE City = NULL;

如果您使用的是基于代码的自定义迁移:

为数据库创建迁移时,您将获得以下内容:

 public override void Up()
 {
     AddColumn("dbo.someTable", "City", c => c.String(nullable: false, defaultValue: "SomeDefaultValue"));    
 }   

在操作参数中,您有以下选项之一:defaultValue,此值将用于所有现有行。

可能有用:

DefaultValueAttribute Class

Code-based Migrations

Entity Framework Code First: Migrations

Automatic Code First Migrations