Asp.net mvc 实体框架未创建数据库
我正在尝试在VS Express中创建MVC 4 ApplicationDetoFood教程。我在模型中创建了这个类 但是当我运行代码时,没有创建数据库odetofoodb2Asp.net mvc 实体框架未创建数据库,asp.net-mvc,entity-framework,code-first,Asp.net Mvc,Entity Framework,Code First,我正在尝试在VS Express中创建MVC 4 ApplicationDetoFood教程。我在模型中创建了这个类 但是当我运行代码时,没有创建数据库odetofoodb2 namespace OdeToFood.Models { public class OdeToFoodDB2 : DbContext { public DbSet<Resturant> Resturant { get; set; } public DbSet<
namespace OdeToFood.Models
{
public class OdeToFoodDB2 : DbContext
{
public DbSet<Resturant> Resturant { get; set; }
public DbSet<ResturantReview> ResturantReview { get; set; }
}
}
在web.config文件中,我有以下连接字符串
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-OdeToFood-20140306003945;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-OdeToFood-20140306003945.mdf" providerName="System.Data.SqlClient" />
但是这个数据库不包含我在Model文件夹中指定的表。使您的类名与连接字符串名相同。它会起作用的
<add name="OdeToFoodDB2" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-OdeToFood-20140306003945;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-OdeToFood-20140306003945.mdf" providerName="System.Data.SqlClient" />
二,。或者,您可以在上下文基构造函数中指定连接字符串:
public class MyContext : DbContext
{
public MyContext()
: base("OdeToFoodDB2")
{
}
}
三,。或者,也可以对传递给DbContext构造函数的字符串使用“name=”形式。例如:
public class MyContext : DbContext
{
public MyContext()
: base("name=OdeToFoodDB2")
{
}
}
使您的类名与连接字符串名相同。它会起作用的
<add name="OdeToFoodDB2" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-OdeToFood-20140306003945;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-OdeToFood-20140306003945.mdf" providerName="System.Data.SqlClient" />
二,。或者,您可以在上下文基构造函数中指定连接字符串:
public class MyContext : DbContext
{
public MyContext()
: base("OdeToFoodDB2")
{
}
}
三,。或者,也可以对传递给DbContext构造函数的字符串使用“name=”形式。例如:
public class MyContext : DbContext
{
public MyContext()
: base("name=OdeToFoodDB2")
{
}
}
DbContext具有采用连接字符串名称的构造函数重载
public class OdeToFoodDB2 : DbContext
{
}
您可能还想尝试添加新的初始值设定项,以使数据库保持最新
namespace OdeToFood.Models
{
public class OdeToFoodDB2 : DbContext
: base("DefaultConnection")
{
public DbSet<Resturant> Resturant { get; set; }
public DbSet<ResturantReview> ResturantReview { get; set; }
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
var initializer = new MigrateDatabaseToLatestVersion<OdeToFoodDB2, Configuration>()
Database.SetInitializer(initializer);
base.OnModelCreating();
}
DbContext具有采用连接字符串名称的构造函数重载
public class OdeToFoodDB2 : DbContext
{
}
您可能还想尝试添加新的初始值设定项,以使数据库保持最新
namespace OdeToFood.Models
{
public class OdeToFoodDB2 : DbContext
: base("DefaultConnection")
{
public DbSet<Resturant> Resturant { get; set; }
public DbSet<ResturantReview> ResturantReview { get; set; }
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
var initializer = new MigrateDatabaseToLatestVersion<OdeToFoodDB2, Configuration>()
Database.SetInitializer(initializer);
base.OnModelCreating();
}
@欢迎光临。别忘了投赞成票。干杯很好,我没意识到+1@Awais:不客气。别忘了投赞成票。干杯很好,我没意识到+1