实体框架迁移API

问题描述:

嗨,我已经在实体框架之上做了一个数据同步项目。 框架在某种程度上是架构独立的。 我想让它更容忍模式的变化,即使是当前考虑的重大变化。

实现这个我将必须得到EF迁移引擎内部,将不得不像
实体框架迁移API

add-transformation 


将被检测的变化和创建的变换生成的命令。

我已经看过EF 6的源代码,但无法找到合适的地方开始。 任何帮助,将不胜感激。

编辑1: - 答案在评论

  1. 代码优先方法收到问题
  2. 范围:
    变化的数据将被迁移因此无需合并更改处理。 我需要的是一种执行像add-transformation这样的命令的方式,它可以创建一个像新迁移一样的新转换。因此,通常可以说,我有一个像

    数据库模型(域模型)

    A级 { 公众诠释一个{获得;设置;} public int b {get;设置;}}

然后我类改变为结构

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 
} 
} 
+0

假设你的方法是首先代码,我会建议你通过MSDN文章 https://msdn.microsoft.com/en-us/library/jj591621(v=vs.113).aspx – pravs

+0

第一个问题先编码还是先DB?第二个问题,关于“程度”你的数据同步应用程序应该做什么?一个。忽略更改(添加字段?添加表?)或b。还要复制新变更(字段或内容)中包含的数据?第三个问题,可以在某人“扩展”数据库之后重新编译您的同步应用程序吗? – bubi

+0

@bubi - 我通过编辑答案回答了你的问题。请看看。 –

我相信你正在寻找的命令是附加迁移migration_name 那么你可以使用命令更新数据库更新数据库,这是如何在实体代码首先迁移工作框架。