2016-04-11 35 views
0

我有一個叫Planet的課。這些不會經常更改,並且種子數據也不會用於在數據庫中初始化該實體。我不想有羣衆和大量種子數據的遷移班。有沒有其他的方法來連接一個類的種子數據,而不是爲每個這樣的類生成一個遷移?例如。我希望在與許多實體的遷移中添加一條聲明,說明Planet的種子數據包含在類PlanetSeedData中。我可以將實體類的種子數據與該類的聲明關聯嗎?

回答

0

有沒有適當的EF方法來做到這一點。但是,您可以簡單地製作自己的作品。

既然你將通過調用Sql(string)功能的遷移中種子數據,移動說出來到另一個類的簡單方法是定義一個類,如下所示:

public static class PlanetSeedData 
{ 
    public static void Seed(Action<string> sql) 
    { 
     sql("INSERT INTO dbo.Planets(Name) VALUES('Mercury')"); 
     sql("..."); 
    } 
} 

然後從你的遷移稱之爲:

public override void Up() 
{ 
    // CreateTable(...) 
    PlanetSeedData(x => Sql(x)); 
} 
相關問題