Класс исчез из модели asp.net mvc - PullRequest
0 голосов
/ 15 октября 2018

Я использовал эту инструкцию для обновления Entity Framework с 5.0 до 6.2 https://docs.microsoft.com/en-us/ef/ef6/what-is-new/upgrading-to-ef6

После того, как это было сделано, некоторые пользовательские классы моделей исчезли из проекта.Классы по-прежнему есть в папке проекта, но я не могу добавить их в свой проект.

Есть ошибки этого типа:

CS0246: Тип или имя пространства имен '***'не может быть найдено (вы пропустили директиву using или ссылку на сборку?)

У вас есть идеи, как это исправить?

1 Ответ

0 голосов
/ 16 октября 2018

Я нашел решение.В Entity Framework есть два типа стратегий генерации кода.У меня был Legacy Object Context (edmx + designer.cs) , но инструкция описывает T4 ( edmx + ... .tt файлы ).

Я нашел эту ссылку, она была очень полезна для меня: https://dvoituron.com/2015/09/08/how-to-migrate-entityframework-5-to-entityframework-6-with-visual-studio-2015/

Решение для меня было:

  1. Установить Стратегия генерации кода до Устаревший контекст объекта
  2. Сохранить проект (будет записан файл designer.cs)
  3. Скопировать мои старые классы пользовательских моделей в папку проекта
  4. Перезапустите проект
  5. Добавьте пространства имен EF6 (например, System.Data. Entity.Core. Objects.ObjectContext)
  6. В моем случае мне пришлось добавить using System.Data.Entity;в некоторых классах (для распознавания EntityState)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...