我创建了这个项目
在已安装EF
的数据中。 WebApi
是我的启动项目,它引用了Business,它引用了Data。
在数据中我有这个:
namespace NewsWebsite.Data
{
public class NewsWebsiteContext : DbContext
{
public NewsWebsiteContext():base("name=NewsWebsiteContext")
{
Database.SetInitializer<NewsWebsiteContext>(null);
}
public DbSet<Language> Languages { get; set; }
public DbSet<Post> Posts { get; set; }
public DbSet<PostLocale> PostLocales { get; set; }
public DbSet<Role> Roles { get; set; }
public DbSet<User> Users { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
}
}
在数据的app.config中,我有:
<connectionStrings>
<add name="NewsWebsiteDbContext" connectionString="Server=.\compname;initial catalog=NewsDb;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework" providerName="Syste.Data.SqlClient"/>
</connectionStrings>
我在webapi的web.config中完全相同(服务器名称正确)。
当我运行应用程序时,它不会创建数据库。为什么呢?
如果有人会遇到这个问题我有两个错误:
1)我有基础(&#34; name = NewsWebsiteContext&#34;)而不是NewsWebsiteDbContext
2)我有providerName="Syste.Data.SqlClient"
而不是System.Data.SqlClient
我没有使用迁移。只是做
enable-migrations -EnableAutomaticMigration:$true
然后update-database
全部。
答案 0 :(得分:2)
使用时
Database.SetInitializer<NewsWebsiteContext>(null);
EF不会创建自动数据库。 尝试添加迁移和更新数据库