我是 ASP.NET MVC5 的初学者。使用以下教程: http://www.ryadel.com/en/asp-net-setup-mvc5-website-mysql-entity-framework-6-code-first-vs2013/
我使用以下代码:
[DbConfigurationType(typeof(MySql.Data.Entity.MySqlEFConfiguration))]
public class MyDBContext : DbContext
{
public MyDBContext()
: base("MyDBContextConnectionString")
{
Database.SetInitializer<MyDBContext>(new MyDBInitializer());
}
public DbSet<User> Users{get;set;}
public DbSet<History> Histories{get;set;}
public DbSet<Place> Places{get;set;}
public DbSet<Review> Reviews{get;set;}
public DbSet<Type> Types{get;set;}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
web.config:
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework"/>
<providers>
<provider invariantName="MySql.Data.MySqlClient"
type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6"/>
</providers>
</entityFramework>
<connectionStrings>
<add name="MyDBContextConnectionString" providerName="MySql.Data.MySqlClient" connectionString="server=localhost;UserId=root;Password=******;database=KorulottemDB;CharSet=utf8;Persist Security Info=True" />
</connectionStrings>
<system.data>
<DbProviderFactories>
<remove name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" />
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.8.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
不幸的是,除非我在初始化器处中断,否则不会创建数据库:
Database.SetInitializer<MyDBContext>(new MyDBInitializer());
然后单击“函数评估需要所有线程运行”。
在这种情况下,数据库出现在服务器上,但没有表。
感谢您的帮助。
最佳答案
由于您使用的是 Code First 方法,我建议您使用 Migrations也。要启用此功能,您可以在程序包管理器控制台中运行以下命令:
Enable-Migration -ProjectName <YourDataLayer>
您应该尝试在 Visual Studio 中使用包管理器控制台,并运行以下命令:
Update-Database -ProjectName <YourDataLayer>
关于c# - ASP.NET MVC5 不会创建 MySQL 数据库,除非在初始化程序处中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34786758/