我正在使用Code First Approach开发MVC应用程序。我已经在一个单独的类库项目中定义了我的模型类。我还定义了我的DBContext类。我确保我的DBContext类与我的连接字符串具有相同的名称。出于某种原因,我没有看到创建数据库。我理解的是通过定义你的类和连接字符串,Entity框架会生成数据库。我确信我的连接字符串,因为它适用于我的其他应用程序。有人可以说出问题是什么吗
public class Customer
{
public int CustomerId { get; set; }
public string Name { get; set; }
public string Address { get; set; }
public string Phone { get; set; }
public string Email { get; set; }
}
public class TestDbContext : DbContext
{
public DbSet<Customer> Customer { get; set; }
}
App.Config class
<connectionStrings>
<add name="TestDbContext" connectionString="Data Source=XYZ-PC\MSSQLSERVER2014;Initial Catalog=SalesOrderManagement;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False" providerName="System.Data.SqlClient" />
</connectionStrings>
答案 0 :(得分:0)
在您调用上下文之前,EF不会生成数据库。您可以通过在所选初始化程序中添加静态构造函数来确保这一点:
public class TestDbContext : DbContext
{
static TestDbContext()
{
Database.SetInitializer(new DropCreateDatabaseIfModelChanges<TestDbContext>());
}
public DbSet<Customer> Customer { get; set; }
}