5
嗨,我已經在實體框架之上做了一個數據同步項目。 框架在某種程度上是架構獨立的。 我想讓它更容忍模式的變化,即使是當前考慮的重大變化。
實現這個我將必須得到EF遷移引擎內部,將不得不像
實體框架遷移API
add-transformation
將被檢測的變化和創建的變換生成的命令。
我已經看過EF 6的源代碼,但無法找到合適的地方開始。 任何幫助,將不勝感激。
編輯1: - 答案在評論
- 代碼優先方法收到問題
範圍:
數據庫模型(域模型)
變化的數據將被遷移因此無需合併更改處理。 我需要的是一種執行像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
}
}
假設你的方法是首先代碼,我會建議你通過MSDN文章 https://msdn.microsoft.com/en-us/library/jj591621(v=vs.113).aspx – pravs
第一個問題先編碼還是先DB?第二個問題,關於「程度」你的數據同步應用程序應該做什麼?一個。忽略更改(添加字段?添加表?)或b。還要複製新變更(字段或內容)中包含的數據?第三個問題,可以在某人「擴展」數據庫之後重新編譯您的同步應用程序嗎? – bubi
@bubi - 我通過編輯答案回答了你的問題。請看看。 –