Проблема с собственным типом при миграции с Entity Framework Core 2.0 на 2.1 - PullRequest
0 голосов
/ 05 октября 2018

Мы обновляем наше основное приложение asp.net (которое работает на полной платформе .net) с asp.net 2.0 / ef core 2.0 до asp.net 2.1 / ef core 2.1.Я удивлен, насколько это головная боль для незначительного обновления ...

В любом случае, после обновления до 2.1 и добавления миграции без каких-либо изменений кода в модель, EF создает миграцию для перемещения принадлежащегоТип, который мы используем (единственный) в отдельной таблице.Зачем?В [документации] [1] указано иное:

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

Мы можем исправитьпроблема в добавлении ToTable () и передаче имени родительской сущности, но мы не понимаем, почему это требуется в первую очередь.

До:

builder.Entity<Chart>().OwnsOne(c => c.BarLineOptions);

После:

builder.Entity<Chart>().OwnsOne(c => c.BarLineOptions).ToTable("Chart");

Мы также пытались удалить эту свободную конфигурацию с новым OwnedAttribute, но это вызывает ту же проблему, поэтому нам действительно нужно, чтобы свободная конфигурация вызывала ToTable()

Обновление: если мыне создавайте миграцию, мы получаем исключение при запуске приложения, говоря, что таблица BarLineOptions не существует

...