数据库不是';t创建和初始化
本文关键字:创建 初始化 数据库 | 更新日期: 2023-09-27 18:28:19
我已经在web.config中指定了正确的连接字符串,但数据库没有创建,也没有在seed方法中达到断点。
代码:
public class MusicStoreEntities:DbContext
{
public DbSet<Genre> genres;
public MusicStoreEntities()
: base("name=MusicStoreConnection")
{
Database.SetInitializer(new Myinitialzer());
}
}
public class Myinitialzer :CreateDatabaseIfNotExists<MusicStoreEntities>
{
protected override void Seed(MusicStoreEntities context)
{
var genres = new List<Genre>
{
new Genre { Name = "Rock" },
new Genre { Name = "Jazz" },
new Genre { Name = "Metal" },
};
}
}
连接字符串:
<add name="MusicStoreConnection" providerName="System.Data.SqlClient" connectionString="Data Source=WAQAR_DEV;Initial Catalog=PlanetWrox;Integrated Security=true;" />
setter和getter也与dbset实体一起列出,这是数据库没有创建的唯一原因,在这个特定的代码中,不需要迁移,因为数据库甚至没有生成。只需要添加
public DbSet<genres>genres{get;set;}
您需要将genres
添加到上下文中并保存它。
context.genres.AddRange(genres);
context.SaveChanges();
此外:
- 看看这个问题和这个
- 您可能需要将
System.Data.Entity.CreateDatabaseIfNotExists
添加到初始值设定项中 - 您设置了迁移吗?它们是自动的吗
- 您可能需要运行迁移
- 你收到错误消息了吗