Почему моя база данных Library_Dev не отображается в SQL Server Object Explorer ((localdb) \ MSSQLLocalDB)? - PullRequest
1 голос
/ 03 августа 2020

Первое, что я сделал, - это appsettings.json, затем я написал этот код:

"ConnectionStrings": {
        "LibraryConnection": "Server=(localdb)\\MSSQLLocalDB;DataBase=Library_Dev;Trusted_Connection=True;MultipleActiveResultSets=True"
    }

Затем я добавил этот класс, используя (using Microsoft.EntityFrameworkCore; (DbContext)):

public class LibraryContext : DbContext
{
    public LibraryContext(DbContextOptions options) : base(options) { }

    DbSet<Person> person { get; set; }
}

Класс Person имеет свойства, но просто игнорируйте его.

Затем я открыл Startup.cs и в методе ConfigureServices добавил:

services.AddDbContext<LibraryContext>(
                options => options.UseSqlServer(
                    Configuration.GetConnectionString("LibraryConnection")));

и, конечно, набрал в Console Management Пакеты:

add-migration "Initial migration"

Но я не вижу Library_Dev в SQL Server Object Explorer.

Буду очень благодарен, если вы можете мне помочь.

Ответы [ 2 ]

0 голосов
/ 03 августа 2020

Используйте этот код в startup, когда вы запустите свой проект, база данных создаст:

 public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
 {
      using (var serviceScope = app.ApplicationServices.GetService<IServiceScopeFactory>().CreateScope())
      {
            var context = serviceScope.ServiceProvider.GetRequiredService<LibraryContext>();
            context.Database.Migrate();
      }
      ...
  }
0 голосов
/ 03 августа 2020

Add-Migration просто добавляет миграции в ваш проект. Затем вам нужно запустить Update-Database, чтобы применить миграции и сформировать реальную базу данных.

Дополнительная информация о том, как запускать команды, представлена ​​по следующей ссылке:

EF Core Миграции

...