使用Entity Framework 6.1将模型合并为一个,并复制数据

本文关键字:一个 数据 复制 Framework Entity 合并 模型 使用 | 更新日期: 2023-09-27 18:06:41

我有3个模型,几乎持有类似的数据。现在我想用这3个模型的属性创建一个新模型。我做到了。但我面临的问题是,当我应用迁移时,我正在丢失3个表中的数据。

当我应用迁移到数据库时,我想将数据从3个表复制到新表。Seed方法在应用迁移之后运行,此时所有3个表都被删除。我想有一些方法在应用迁移之前运行,并将数据存储在一些临时表中,并将此临时表数据推送到新表并删除临时表。

是否有任何方法我们可以实现与实体框架,还是我需要明确地处理这个?

我的模型类是:
public class Model1 { 
   public Guid Id {get;set;}
   public int Count {get;set;}
   public bool IsActive {get;set;}
   public string Template {get;set;}
}
public class Model2 { 
   public Guid Id {get;set;}
   public int Count {get;set;}
   public string Template {get;set;}
}
public class Model3 { 
   public Guid Id {get;set;}
   public int Count {get;set;}
   public string Template {get;set;}
}
public class NewModel{ 
   public Guid Id {get;set;}
   public int Count {get;set;}
   public string Template {get;set;}
   public bool IsActive {get;set;}
   public string Type {get;set; }    // this will the type of all 3 old models
}

使用Entity Framework 6.1将模型合并为一个,并复制数据

您需要手动执行,使用Sql("select into ecc")编辑生成的迁移