我在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,我只想将这些更改应用于模型。最好的方法是什么?
This的答案表明以下内容很骇人
DbContext.Database.Connection.GetType().Name
This的答案建议使用诸如Database.IsSqlServer()
之类的检查,这很好,但我在任何地方都找不到Database.IsMySqlServer()
方法
请帮助。谢谢。