ИСХОДНАЯ ИНФОРМАЦИЯ Я использую VS 2010 на машине, на которой я установил .Net 4.5, который, как я читал, был установлен на месте (отменил версию .net 4.0).
У меня есть проекты, все еще ориентированные на 4.0, и вариант 4.5 недоступен, но мне сказали, что все в порядке, поскольку 4.5 была установлена на месте. Затем я установил EntityFramework -pre через nuget и заметил, что когда я запускал команды Upgrade-Database -Script, он не генерировал свойства перечисления.
Затем я нашел это. Я снова попытался сделать все с нуля, но он все еще добавлял EntityFramework 4.4 вместо 5.0. Поэтому я вручную изменил все ссылки, чтобы они указывали на версию 5.0, чтобы убедиться, что у меня есть версия EF 5.0. Все скомпилировано.
ПРОБЛЕМА Когда я бегу
Enable-Migrations -EnableAutomaticMigrations
Я получаю сообщение "В текущем проекте не найдены классы, производные от DbContext. Отредактируйте сгенерированный класс конфигурации, чтобы указать контекст, для которого разрешена миграция."
Поэтому я вручную убедился, что мой класс правильный, как в:
internal sealed class Configuration : DbMigrationsConfiguration<DataContext>
{
public Configuration()
{
AutomaticMigrationsEnabled = true;
}
DataContext является подклассом DbContext.
Когда я бегу
Update-Database -Script
Я получаю сообщение "В сборке MyProject не найден тип конфигурации миграции. (В Visual Studio вы можете использовать команду Enable-Migrations из консоли диспетчера пакетов, чтобы добавить конфигурацию миграции)."
MyProject имеет класс конфигурации, о котором я упоминал выше, и в консоли диспетчера пакетов я выбираю правильный раскрывающийся список для своего проекта, содержащего папку Migrations и этот класс конфигурации.
ВОПРОС
Что мне сделать, чтобы убедиться, что при установке EnittyFramework через nuget добавляется версия 5.0, а не 4.4, даже если у меня установлен .Net 4.5?
Если я не могу сделать ничего, связанного с вопросом выше, что я могу сделать, чтобы убедиться, что Upgrade-Database выдает скрипт?