数据库不是';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;" />

数据库不是';t创建和初始化

setter和getter也与dbset实体一起列出,这是数据库没有创建的唯一原因,在这个特定的代码中,不需要迁移,因为数据库甚至没有生成。只需要添加

public DbSet<genres>genres{get;set;}

您需要将genres添加到上下文中并保存它。

context.genres.AddRange(genres);
context.SaveChanges();

此外:

  • 看看这个问题和这个
  • 您可能需要将System.Data.Entity.CreateDatabaseIfNotExists添加到初始值设定项中
  • 您设置了迁移吗?它们是自动的吗
  • 您可能需要运行迁移
  • 你收到错误消息了吗