2014-07-10 24 views
2

有沒有使用EF和/或C#代碼將數據遷移到新表(和實體)的方法,還是我必須在EF-Migration中使用一些普通的老式SQL?在表格之間遷移數據的整潔方式?

這裏是我的情況:

我有一個現有OldCarLog類,如用於對實體記錄用戶的行爲,我們會打電話給Car,但現在我想允許登錄其他實體和我創建了一個抽象/通用類BrandSpankingNewActivityLog<TEntity>,使任何類的記錄都變得容易。所以我有Car_Log : BrandSpankingNewActivityLog<Car>以及PartInfo_LogRepairProcedure_Log

我要採取一切OldCarLog實體並將它們轉換成它們的替換Car_Log 這樣我可以重構OldCarLogCar_Log和對新實施的日誌的標準API,而無需OldCarLog感到困惑與BrandSpankingNewActivityLog<TEntity>派生的任何日誌。

public abstract class BrandSpankingNewActivityLog<TEntity> 
{ 
    public long Id { get; set; } 
    public DateTime ActivityTime { get; set; } 
    public virtual User User { get; set; } 
    public virtual TEntity Entity { get; set; } 
} 

public class Car_Log : BrandSpankingNewActivityLog<Car> 
{ 
    //Nothing to see here! 
} 

public class Car 
{ 
    public long Id {get; set;} 
    //Other car info you don't care about .... 
    //Yada, Yada, Yada.... 
    public virtual ICollection<Car_Logs> {get;set;} 
} 

是否所有有意義嗎?

回答