У меня есть следующий код в моем DbContext
protected override void OnModelCreating(ModelBuilder builder)
{
// ...
// Shorten key length for Identity
builder.Entity<ApplicationUser>(entity => entity.Property(m => m.Id).HasMaxLength(127));
builder.Entity<IdentityRole>(entity => entity.Property(m => m.Id).HasMaxLength(127));
builder.Entity<IdentityUserLogin<string>>(entity =>
{
entity.Property(m => m.LoginProvider).HasMaxLength(127);
entity.Property(m => m.ProviderKey).HasMaxLength(127);
});
builder.Entity<IdentityUserRole<string>>(entity =>
{
entity.Property(m => m.UserId).HasMaxLength(127);
entity.Property(m => m.RoleId).HasMaxLength(127);
});
builder.Entity<IdentityUserToken<string>>(entity =>
{
entity.Property(m => m.UserId).HasMaxLength(127);
entity.Property(m => m.LoginProvider).HasMaxLength(127);
entity.Property(m => m.Name).HasMaxLength(127);
});
Я хочу применить эти изменения только к моделям, если используется сервер / поставщик MySQL. Каков наилучший способ сделать это?
Этот ответ предполагает следующее, что кажется счастливым
DbContext.Database.Connection.GetType().Name
В этом ответе предлагается использовать такие проверки, как Database.IsSqlServer()
, что хорошо, но я не могу найти метод Database.IsMySqlServer()
в любом месте
Пожалуйста, помогите. Спасибо.