0
データベースの移行前に、データベースが存在しないときにCreateDatabaseIfNotExistsとシードを使用することができました。しかし、私は移行を導入したため、DbMigrationsConfigurationに基づいてConfigurationクラスを変更しました。しかし、データベースなしでDbMigrationsConfigurtion、シード機能(複数可)(context.SaveChanges中に失敗)と:空のデータベースにDbMigrationsConfigurationをシードしたときの "無効なオブジェクト名"例外
起動中:
Database.SetInitializer(new MigrateDatabaseToLatestVersion<RegistrationServerContext, Migrations.Configuration>());
RegistrationServerContext db = new RegistrationServerContext();
db.Database.Initialize(true)
モデル/ DbContext:
構成内public class RegistrationServerContext : DbContext
{
public DbSet<ABC> ABCs { get; set; }
public DbSet<XYZ> XYZs { get; set; }
}
:
internal sealed class Configuration : DbMigrationsConfiguration<Models.RegistrationServerContext>
{
public Configuration()
{
AutomaticMigrationsEnabled = true;
}
protected override void Seed(Models.RegistrationServerContext context)
{
SeedABCs(context);
base.Seed(context);
}
private void SeedABCs(Models.RegistrationServerContext context)
{
var reader = new StreamReader(..);
Models.ABC seedABC = new Models.ABC();
while (!reader.EndOfStream)
{
var line = reader.ReadLine();
var values = line.Split(',');
seedABC.a = values[0];
seedABC.b = values[1];
seedABC.c = values[2];
context.ABCs.Add(seedABC);// <== seedABC is good/valid
context.SaveChanges();// **<== FAILS HERE**
}
}
}