实体框架迁移API

时间:2017-03-18 05:55:02

标签: entity-framework ef-migrations

您好我已经在实体框架之上创建了一个数据同步项目。 框架在某种程度上与模式无关。 我想让它更容忍模式的变化,即使是目前被认为是重大的变化。

要实现这一点,我必须进入ef迁移引擎,并且必须生成像

这样的命令
add-transformation 

这将检测变化并创建转变。

我已经查看了ef 6的源代码,但找不到合适的起点。 任何帮助,将不胜感激。

编辑1: - 回答评论中收到的问题

  1. Code First Approach
  2. 范围:
    数据的更改将由迁移处理,因此无需合并更改。 我需要的是一种执行像add-transformation这样的命令的方法,它会像新的迁移一样创建一个新的转换。所以通常假设我有一个像

    这样的数据库模型(域模型)

    A班 {  public int a {get;组;}  public int b {get;组;} }

  3. 然后我将类更改为结构

    class A 
    {
     public int a {get; set;}
     public int b {get; set;}
     public int c {get; set;}
    }
    

    然后我运行add-tranformation ClassChangesA
    我需要的代码应该是
    1.检测变化
    2.生成类似迁移类的类。实施例

    class Transformation_112334_ClassChangesA
    {
     public A Up(OldA model){
       //Property C added
     }
     public OldA Down(A model){
       //Property C removed
     }
    }
    

1 个答案:

答案 0 :(得分:1)

我相信您要查找的命令是 add-migration migration_name 然后,您可以使用命令 update-database 更新数据库,这是如何在实体框架中使用代码首次迁移。