Я впервые пытаюсь создать веб-приложение (.net core 2.1) с нуля с Entity Framework.Почему-то я не могу сгенерировать БД.
Поэтому я установил EF nuget.И сделал следующие вещи:
Добавил класс, который унаследован от DbContext:
public class ApplicationDbContext:DbContext
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{
}
public DbSet<Server> Servers { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Server>().HasData(
new Server
{
Name = "My Server",
InUse = false
}
);
}
}
И создал Entity:
public class Server
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public string Name { get; set; }
public bool InUse { get; set; }
}
В файле startup.cs в методе ConfigureServices я добавил:
var connectionString = Configuration.GetConnectionString("ApplicationConnection");
services.AddDbContext<ApplicationDbContext>
(options => options.UseSqlServer(connectionString));
Строка подключения, полученная из appsettings, и я отлаживал ее, чтобы она проходила, и это та же строка, которую я использовал в других проектах, но с другим именем базы данных, и все должно быть в порядке.
Также я запускаю из консоли команду Add-Migration, поэтому у меня есть папка Migrations с миграцией InitialCreate и некоторым файлом снимка.
Но когда я запускаю приложение, я не получаю никакой ошибки, но оно никогда не достигает точки останова внутри InitialCreateМиграция .cs и т. д. никогда не создают БД.
Есть идеи, где и как мне их вызвать?