Миграция цели 2.1.0-rtm-30799, хотя Target Framework является .Net Core 2.1 - PullRequest
0 голосов
/ 10 июня 2018

Я использую VS2017 версии 15.7.3

Мне интересно, почему новое решение создаст базу данных с миграциями, перечисленными как версия 2.1.0, но если таблицы идентичности для той же самой базы данныхдобавлен через консоль PM, после чего миграция будет перечислена как rtm.

Шаги, чтобы продемонстрировать, что я имею в виду.

Я создаю новое решение, используя шаблон основного веб-приложения ASP.NET web application template

Выбор отдельных учетных записей пользователей для аутентификации as shown here

Тогда сгенерированный код показывает, что при переносе данных будет ProductVersion 2.1.0

namespace WebApplication14.Data.Migrations
{
    [DbContext(typeof(ApplicationDbContext))]
    partial class ApplicationDbContextModelSnapshot : ModelSnapshot
    {
        protected override void BuildModel(ModelBuilder modelBuilder)
        {
#pragma warning disable 612, 618
            modelBuilder
                .HasAnnotation("ProductVersion", "2.1.0")
                //etc

Я запускаю приложение, регистрирую пользователя и нажимаю Применимые миграции для создания базы данных.

creating the database

Далее

  1. Я использую SQL Server Object Explorer для удаления всех таблиц.
  2. Я удаляю папку Миграции из решения
  3. В консоли диспетчера пакетов я набираю

    Добавить-миграцию один

Теперь ApplicationDbContextModelSnapshot ссылается на rtm ProductVersion

namespace WebApplication14.Migrations
{
    [DbContext(typeof(ApplicationDbContext))]
    partial class ApplicationDbContextModelSnapshot : ModelSnapshot
    {
        protected override void BuildModel(ModelBuilder modelBuilder)
        {
#pragma warning disable 612, 618
            modelBuilder
                .HasAnnotation("ProductVersion", "2.1.0-rtm-30799")

Если я затем запускаю

update-database

, таблицы создаются вбаза данных с версией продукта rtm, перечисленной в __EFMigrationsHistory

Мне интересно, является ли это различие конструктивным или нет, и если да, то почему оно спроектировано таким образом.

...