Asp.net mvc 将新列添加到数据库并更新我的模型,但我想更新已有的行,因为添加了新列

Asp.net mvc 将新列添加到数据库并更新我的模型,但我想更新已有的行,因为添加了新列,asp.net-mvc,entity-framework-5,Asp.net Mvc,Entity Framework 5,向数据库中添加了新列并更新了我的模型,但我想更新已经存在的行,因为添加了新列 id|Name City 1 |A |Null 2 |B |Null 3 |C |Null 我想以编程方式设置此城市列它可以用于新条目添加例如,如果创建视图渲染它设置城市列,但我想为所有现有行设置它 如果您使用的是自动迁移: 添加新字段时,可以使用[DefaultValue]属性 或: 您可以运行更新SQL脚本: UPDATE table_name SET City='SomeDefaultValue'

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

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

我想以编程方式设置此城市列它可以用于新条目添加例如,如果创建视图渲染它设置城市列,但我想为所有现有行设置它

如果您使用的是自动迁移:

添加新字段时,可以使用
[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"));    
 }   
在action参数中,您有一个选项:
defaultValue
,该值将用于所有现有行

可能有用:


谢谢@U10。。。在我的例子中,我使用了另一种方法,我们使用DB first方法,我使用Linq更新列,并在值为Null时保存Obj。。