Миграции не создают новую базу данных в ASP.NET Ядро

#c# #sql-server #visual-studio #entity-framework-core #asp.net-core-mvc

#c# #sql-сервер #visual-studio #entity-framework-core #asp.net-core-mvc

Вопрос:

Я пытаюсь создать небольшой образец приложения с ASP.NET Создайте ядро и создайте базу данных для использования в календаре. Я добавил Microsoft.EntityFrameworkCore.Пакет инструментов и добавлены некоторые модели для пользователей и пользовательский контекст базы данных, например (вставлено в 1 место):

    public class ReservationModel
    {
        [Column("Id")]
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        [Required]
        public int Id { get; set; }

        [Column("Date")]
        [Required]
        public DateTime Date { get; set; }

        [Required]
        public int ReserverId { get; set; }
    }

   public class UserModel
    {
        [Column("Id")]
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        [Required]
        public int Id { get; set; }

        [Column("IsAdmin")]
        [Required]
        public bool IsAdmin { get; set; }
    }

public class AppDbContext : DbContext
{
    public AppDbContext(DbContextOptions<AppDbContext> options) : base(options)
    {
    }

    public DbSet<UserModel> Users { get; set; }
    public DbSet<ReservationModel> Reservations { get; set; }
}
  

И я настраиваю ее следующим образом:

    public void ConfigureServices(IServiceCollection services)
    {

        services.AddControllersWithViews();

        services.AddSpaStaticFiles(configuration =>
        {
            configuration.RootPath = "ClientApp/build";
        });

        services.AddDbContext<AppDbContext>
       (o => o.UseSqlServer(Configuration.
        GetConnectionString("MyNewDatabase")));

    }
  

Вот мои строки подключения:

   "ConnectionStrings": {
    "MyNewDatabase": "Server=(localdb)\mssqllocaldb;Database=MyNewDatabase;Trusted_Connection=True;",
    "initial": "catalog=MyNewDb;",
    "integrated": "security=true"
  }
  

Я запускаю эти команды в консоли:

 Add-Migration InitialMigration
Update-Database
  

Оба завершаются успешно без ошибок.

Проблема в том, что я не вижу свою новую созданную базу данных нигде в проводнике сервера. Я также пытался использовать Microsoft SQL Management Studio, но все, что я вижу, это 4 системные базы данных. Я не вижу, как создается моя новая база данных.

Я попытался открыть новое соединение с . SQLEXPRESS и я по-прежнему получаем только 4 системные базы данных.

Я просматривал документацию и просматривал онлайн-руководства, и я делаю точные шаги, как указано выше, чтобы создать простую базу данных для приложения, однако у меня это не работает. Я должен также упомянуть, что у меня нет никакой базы данных.EnsureCreated() остался в проекте, так что это тоже не так. Я также попытался запустить веб-сайт, и он запускается без ошибок при инициализации, хотя сейчас это просто набор простых текстов. Кажется, я что-то упускаю. В руководствах она всегда появляется в проводнике сервера после выполнения начальных миграций и обновления.

Комментарии:

1. Когда вы открываете SSMS в окне входа в систему, это имя_сервера / экземпляр. В c # замените строку подключения (localdb) \ mssqllocaldb на имя_сервера / экземпляра из SSMS. Также попробуйте закрыть SSMS и открыть SSMS после запуска c #.

2. База данных создается, вам просто нужно посмотреть, где, строка подключения является ключевой

3. Из любопытства я просто скопировал ваш код здесь. Здесь все выглядит хорошо, создана база данных и таблицы. Я установил Microsoft. EntityFrameworkCore, Microsoft. EntityFrameworkCore.SQLServer, Microsoft. EntityFrameworkCore. Инструменты

4. Попробуйте вставить некоторые данные, и вы будете знать наверняка.

5. В Visual Studio используйте «Обозреватель объектов SQL Server» (не следует смешивать с «Обозревателем серверов») и просмотрите узлы «SQL Server (localdb) MSSQLLocalDB»