0
我想用實體框架來填充我的數據庫。我正在使用Seed
覆蓋並使用我的DbContext
中的set初始值設定項。當我從頭開始創建我的數據庫時,似乎並沒有將這些值添加到!用數據爲我的EF數據庫播種
public class PokemonDatabaseInitializer : CreateDatabaseIfNotExists<PkmnContext>
{
protected override void Seed(PkmnContext context)
{
var pkm = new Pokemon
{
Id = 25,
DisplayName = "Pikachu",
RegionId = 1
};
var region = new PokemonRegion
{
Id = 1,
Kanto = true,
};
var location = new PokemonLocation
{
AreaFound = "Viridian Forest",
Id = 1
};
context.Pokemons.Add(pkm);
context.PokemonRegions.Add(region);
context.PokemonLocations.Add(location);
context.SaveChanges();
base.Seed(context);
}
}
public class PkmnContext : DbContext
{
public PkmnContext()
{
Database.SetInitializer(new PokemonDatabaseInitializer());
}
public DbSet<Pokemon> Pokemons { get; set; }
public DbSet<PokemonRegion> PokemonRegions { get; set; }
public DbSet<PokemonLocation> PokemonLocations { get; set; }
}
我已經運行更新的數據庫,但似乎沒有我想補充一些檢查顯示填充。我是否正確地將我的行連接在種子方法中? –
@magna_nz種子你正在做的權利。你正在調用savechanges。我會檢查所有連接字符串,因爲可能是您的默認項目(或者如果您沒有默認,然後選定的項目)有不同的連接到其他數據庫 –
不要認爲這是連接字符串問題,因爲我的數據庫正在創建,只是不填充。 –