3

Я хотел бы использовать ASP.NET MVC 6 с Entity Framework 6 с включенными Migrations. My Entity Framework 6 DbContext находится в отдельной сборке из проекта MVC 6. Я могу получить Entity Framework 6 для работы с MVC 6, но как только я включаю Миграции, я получаю FileNotFoundException с сообщением Could not find file '{AssemblyName}.resources'.ASP.NET MVC 6 + EF6 с мигрантами

enter image description here

Есть ли способ, чтобы получить MVC 6 работать с EF 6 с миграцией?

Вот тестовый проект я ставлю на GitHub, который демонстрирует эту проблему: https://github.com/johnnyoshika/mvc6-ef6-migrations

+0

Можете ли вы продолжить? Некоторые компоненты Microsoft используют механизм «try and if not found create» для создания внутренних структур (например, часть Xsl System.Xml делает подобные вещи) ... –

+0

Что вы делаете, когда получаете эту ошибку? – JotaBe

+0

Спасибо за комментарии @StephenReindl и @JotaBe! Сегодня я проверю, смогу ли я продолжить это исключение. –

ответ

2

Я столкнулся с этой проблемой в beta7. Казалось бы, ASP.NET 5 не играет хорошо с ресурсами (.resx), встроенными в проекты csproj. Если вы локально ссылаетесь на aspnet/Mvc и Entityframework (6), вы увидите, что пытается показать какую-то полезную отладочную информацию, но делает это с помощью локализации. В вашем примере он пытается получить доступ к полю LoggingTargetDatabase от here, но неправильно рассчитывает, что он будет встроен в Entity2, а не EntityFramework, из-за чего я подозреваю, что ASP.NET 5 не поддерживает поддержку .resx.

Это была одна из нескольких проблем, которые я нашел, пытаясь получить миграции EF6 в ASP.NET 5, и в конце я написал небольшую библиотеку команд DNX [Github | myget], который запрограммировал бы миграцию EF6 программно, подобно тому, как это делает EF7.

+0

Спасибо @StaffordWilliams. Мне сложно заставить вашу библиотеку работать. Какую зависимость вы сопоставляете с командой 'ef'? Это 'EntityFramework.Commands' или' Atquin.EntityFramework.Migrations'? Кроме того, мой DbContext находится в отдельной сборке. Предполагается, что файл 'config.json' будет там или в проекте MVC 6? –

+0

@JohnnyOshika Atquin.EntityFramework. Миграции должны отображаться внутри ваших данных project.config для ef. Config.json также должен быть в проекте данных, или вы можете указать строку поставщика и соединения с -p и -c. –

+0

работает как очарование. Несколько вещей, которые подтолкнули меня. 1) Я не понял, что мне пришлось вручную создать класс, который наследуется от 'DbMigrationsConfiguration'. 2) Я не смог получить обнаружение строки подключения в config.json для работы, поэтому я использовал аргументы командной строки. Сейчас он работает очень хорошо. Спасибо! –

Смежные вопросы