EF代码优先 - 主键数据类型更改

时间:2014-06-06 16:48:12

标签: c# entity-framework ef-code-first ef-migrations

我们需要更改其中一个表,使用Guid作为主键而不是int。该系统正在生产中使用,看来这种变化需要一些额外的工作,而不是通常的add-migration

此表有两个FK引用,这意味着需要修改总共3个表。

使用Code First时应如何处理?

当前型号代码

public class TableA
{
    public int Id { get; set; }
    public String Name { get; set; }
    public bool IsActive { get; set; }
}

期望的模型代码

public class TableA
{
    public Guid Id { get; set; }
    public String Name { get; set; }
    public bool IsActive { get; set; }
}

1 个答案:

答案 0 :(得分:0)

首先对代码进行更改,然后安装或托管您的应用程序,并从新更改中创建新数据库。现在您拥有包含新更改的数据库。因此,在生产中的一个(在备份之后并在测试服务器中导入它)和新的一个(使用新的更改)之间进行区分,现在您可以从差异中为生产创建升级脚本。然后首先升级生产数据库,然后发布您的应用程序