我在VS2013的mvc项目中创建了模型类并使用了以下上下文并使用了EF 6.1
public class DataBase : DbContext
{
public class DataBase : DbContext
{
public DataBase()
: base("Db")
{
}
public DbSet<table> table{ get; set; }
}
}
"Db" is my connection string everything ,everything run good but table are not created on my database
答案 0 :(得分:0)
你试过这个吗?
public class DataBase : DbContext
{
public class DataBase : DbContext
{
public DataBase()
: base("Name=Db")
{
}
public DbSet<table> table{ get; set; }
}
}
将:base()
设为“Name = Db”。
答案 1 :(得分:0)
在ef 6中,他们改变了工作方式,因此您需要执行一些手动步骤才能生成数据库。我认为你有几个选择:
1。使用压缩管理器控制台并运行Update-DataBase命令。 (您必须弄清楚要使用哪些标志)这可能要求您在运行更新之前使用预期名称创建一个空白数据库。
2。将数据库初始化程序命令更改为:
Database.SetInitializer<UserDbContext>(new MigrateDatabaseToLatestVersion<UserDbContext, Configuration>());
这应该使您的代码始终更新/创建数据库。可能不是你想要的生产环境,但..
3。您可以创建自己的初始化程序,它还具有在创建时将数据播种到数据库的好处。看一下http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/creating-an-entity-framework-data-model-for-an-asp-net-mvc-application&lt; - 在文章末尾有一个这样的初始化器的例子。章节标题为&#34;设置EF以使用测试数据&#34;