[英]Code First Entity Framework does not create database with tables
I have Couple of Models (Classes). 我有几个模型(类)。
City.cs: City.cs:
public class City
{
[ScaffoldColumn(false)]
public int CityID { get; set; }
public string Name { get; set; }
public virtual ICollection<Course> Courses { get; set; }
}
Course.cs: Course.cs:
public class Course
{
[ScaffoldColumn(false)]
public int ID { get; set; }
public string Faculty { get; set; }
public int CityID { get; set; }
}
CourseDatabaseInitializer.cs: CourseDatabaseInitializer.cs:
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
namespace CoursesApplication.Models
{
public class CourseDatabaseInitializer : DropCreateDatabaseAlways<CourseContext>
{
CourseContext _Context = new CourseContext();
protected override void Seed(CourseContext context)
{
GetCities().ForEach(c => context.Cities.Add(c));
}
private static List<City> GetCities()
{
var cities = new List<City> {
new City
{
CityID = 1,
Name = "Paris"
}
};
return cities;
}
public List<Course> GetCourses()
{
return (from c in _Context.Courses select c).ToList();
}
}
}
CourseContext.cs: CourseContext.cs:
using System.Data.Entity;
namespace CoursesApplication.Models
{
public class CourseContext : DbContext
{
public CourseContext(): base("CoursesApplication")
{
}
public DbSet<Course> Courses { get; set; }
public DbSet<City> Cities { get; set; }
}
}
and my Global.asax.cs file : 和我的Global.asax.cs文件:
void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
// Initialize the Courses database.
Database.SetInitializer(new CourseDatabaseInitializer());
}
, but when I run the application, everything is OK. ,但是当我运行该应用程序时,一切正常。 After that in the solution explorer I create connection, but there is no Database with tables.
之后,在解决方案资源管理器中,我创建了连接,但是没有带表的数据库。 This is my
web.config
with connection string: 这是我的带有连接字符串的
web.config
:
<add name="CourseContext"
connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\courses.mdf;
Integrated Security=True"providerName="System.Data.SqlClient" />
Where can be the problem ? 问题出在哪里? I am using NET Framework 4.6.1 with Sql Express 2016. This is ASP.NET WEB Forms project.
我将NET Framework 4.6.1与Sql Express 2016一起使用。这是ASP.NET WEB Forms项目。
In CourseContext
Try changing this 在
CourseContext
尝试更改此
public CourseContext(): base("CoursesApplication")
{
}
to this 对此
public CourseContext(): base("CourseContext")
{
}
or remove : base("CoursesApplication")
或删除
: base("CoursesApplication")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.