Следующий код всегда пытается сгенерировать таблицу базы данных сервера дважды.
Пользователь
public class User : IdentityUser {
public ICollection<IdentityRole> UserRoles { get; set; }
public virtual ICollection<UserServer> Servers { get; set; }
}
TestServer
public class TestServer {
public string TestServerId { get; set; }
// This throw the error
[InverseProperty("User")]
public string UserId { get; set; }
public virtual User.User User { get; set; }
}
Программа
// Entity Framework startup for generating the database tables.
....
// User
var userContext = services.GetRequiredService<UserContext>();
userContext.Database.EnsureCreated();
UserContextInitializer.Initialize(userContext);
// Server
var serverContext = services.GetRequiredService<ServerContext>();
serverContext.Database.EnsureCreated();
ServerContextInitializer.Initialize(serverContext);
// TestServer
// Error throw here: Table 'Server' already exists ---> MySql.Data.MySqlClient.MySqlException (0x80004005): Table 'Server' already exists
var testServerContxt = services.GetRequiredService<TestServerContext>();
var creator2 = (RelationalDatabaseCreator) testServerContxt.Database.GetService<IRelationalDatabaseCreator>();
creator2.CreateTables();
testServerContxt.Database.EnsureCreated();
Почему Entity Framework пытается сгенерировать таблицу Server
, а не таблицу TestServer
?
Заранее спасибо.
С уважением, Тимо