引入继承时的Code First Db Migration

时间:2015-04-14 08:39:11

标签: c# sql .net entity-framework code-first

我有两个表:AnimalsCats。两者都充满了数据 在代码中,我们有单独的类AnimalModelCatModel

public class AnimalModel
{
    public int Id {get;set;}
    public int Name {get;set;}
}

public class CatModel
{
    public int Id {get;set;}
    public int Name {get;set;}
    public string FurColor {get;set;}
}

现在我想通过引入inheritance来重构我的代码。

public class AnimalModel
{
    public int Id {get;set;}
    public int Name {get;set;}
}

public class CatModel : AnimalModel
{
    public string FurColor {get;set;}
}

我认为这是一项相当困难的任务,我怎样才能以最佳方式迁移数据库?有没有人有这方面的经验?

1 个答案:

答案 0 :(得分:0)

这实际上不是一项艰巨的任务,您当前建议的模型就是您所需要的。稍后您可以将CatModel添加到数据库中,如下所示:

dbcontext.AnimalModels(CatModelInstance);

要检索CatModel列表,您可以使用:

dbcontext.AnimalModels
         .OfType<CatModel>()
         .ToList();

您还可以阅读:https://practiceaspnet.wordpress.com/2015/04/09/implementing-inheritance-in-entity-framework/