有沒有使用EF和/或C#代碼將數據遷移到新表(和實體)的方法,還是我必須在EF-Migration中使用一些普通的老式SQL?在表格之間遷移數據的整潔方式?
這裏是我的情況:
我有一個現有OldCarLog
類,如用於對實體記錄用戶的行爲,我們會打電話給Car
,但現在我想允許登錄其他實體和我創建了一個抽象/通用類BrandSpankingNewActivityLog<TEntity>
,使任何類的記錄都變得容易。所以我有Car_Log : BrandSpankingNewActivityLog<Car>
以及PartInfo_Log
和RepairProcedure_Log
。
我要採取一切OldCarLog
實體並將它們轉換成它們的替換Car_Log
這樣我可以重構OldCarLog
到Car_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;}
}
是否所有有意義嗎?
我以前做過這個,我只是希望避免老毛病又犯了,它會僅僅是更好的使用一些C#的邏輯/班/類型安全,而不是用我的不可靠的SQL。 – wtyneb