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