Mysql 数据库错误的SetInitializer
我正在尝试转换ASP.Net帖子示例;ASP.NET标识:与EntityFramework MySQL提供程序(C#)一起使用MySQL存储 以下代码来自示例Mysql 数据库错误的SetInitializer,mysql,asp.net,vb.net,entity-framework,Mysql,Asp.net,Vb.net,Entity Framework,我正在尝试转换ASP.Net帖子示例;ASP.NET标识:与EntityFramework MySQL提供程序(C#)一起使用MySQL存储 以下代码来自示例 public class ApplicationDbContext : IdentityDbContext<ApplicationUser> { static ApplicationDbContext() { Database.SetInitializer(new MySqlInitializer())
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
static ApplicationDbContext()
{
Database.SetInitializer(new MySqlInitializer());
}
public ApplicationDbContext()
: base("DefaultConnection")
{
}
}
末级
初始化器类如下所示
Public Class MySqlInitializer
Implements IDatabaseInitializer(Of ApplicationDbContext)
Public Sub InitializeDatabase(context As ApplicationDbContext) Implements IDatabaseInitializer(Of ApplicationDbContext).InitializeDatabase
If Not context.Database.Exists() Then
context.Database.Create()
Else
Dim migrationHistoryTableExists = DirectCast(context, IObjectContextAdapter).ObjectContext.ExecuteStoreQuery(Of Integer)(String.Format("SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = '{0}' AND table_name = '__MigrationHistory'","connstring"))
If migrationHistoryTableExists.FirstOrDefault() = 0 Then
context.Database.Delete()
context.Database.Create()
End If
End If
End Sub
数据库中的代码出错。SetInitializer(New MySqlInitializer())代码行出现错误
错误31262在没有类的显式实例的情况下,无法从共享方法或共享成员初始值设定项中引用类的实例成员。C:\WebAppTemplate\AspNetIdentityTemplate\u MySql\AspNetIdentityTemplate\u MySql\Models\IdentityModels.vb 14 9 AspNetIdentityTemplate\u MySql
在数据库行中的数据库下有一个蓝色的波形。SetInitializer
我所有纠正的尝试都会导致相同或其他错误。感谢您的帮助。该帖子的一个代码示例中包含错误 突出显示的行对应于该string.Format方法的参数,但是该参数应该是数据库架构名称,而不是连接字符串 如果您有一个名为users的数据库,那么您应该在此处指定
“users”
Public Class MySqlInitializer
Implements IDatabaseInitializer(Of ApplicationDbContext)
Public Sub InitializeDatabase(context As ApplicationDbContext) Implements IDatabaseInitializer(Of ApplicationDbContext).InitializeDatabase
If Not context.Database.Exists() Then
context.Database.Create()
Else
Dim migrationHistoryTableExists = DirectCast(context, IObjectContextAdapter).ObjectContext.ExecuteStoreQuery(Of Integer)(String.Format("SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = '{0}' AND table_name = '__MigrationHistory'","connstring"))
If migrationHistoryTableExists.FirstOrDefault() = 0 Then
context.Database.Delete()
context.Database.Create()
End If
End If
End Sub