通过实体框架更新脚本

时间:2016-02-12 13:38:35

标签: vb.net entity-framework

我的数据库上下文类如下:

Public Class DataContext
    Inherits DbContext

    Public Sub New()
             MyBase.New("WorkOrderConnectionString")

    End Sub
End Class

然后我在这个DLL的配置文件中有一个连接字符串。

  <connectionStrings>
    <add name="WorkOrderConnectionString" connectionString="Server=(local); Database=db1;uid=user1;password=password1" providerName="System.Data.SqlClient" />
   </connectionStrings>

我在类中添加了两个新字段,并希望为它生成更新SQL脚本。但是当我使用以下语句时,它是为整个数据库生成脚本。

Update-Database -Script

它应该只生成两个新字段的方式是什么......如下所示 改变表....添加列... 使用以下实体框架版本。

运行时版本:v4.0.30319 版本:6.0.0.0

干杯

1 个答案:

答案 0 :(得分:0)

实体框架进行比较以生成脚本,因此如果您有现有数据库,则需要创建它的初始快照,以便只包含后续更改。

运行此命令以制作初始快照:

add-migration Initial -IgnoreChanges
update-database

https://msdn.microsoft.com/en-us/data/dn579398.aspx?f=255&MSPPError=-2147217396#option1

现在您可以更改模型,脚本将是上次迁移和当前迁移之间的差异。

如果您进行了一系列迁移,则可以使用-SourceMigration和-TargetMigration选项仅生成这些更改。 https://msdn.microsoft.com/en-us/data/jj591621.aspx#script

相关问题