EF 6 Несколько контекстов в одной и той же сборке

.net c# entity-framework entity-framework-6

Вопрос

Я использую EF6. Я создал два пространства имен для двух разных баз данных, каждый со своей собственной моделью данных сущностей. В EF 3.5, когда я создал модель из базы данных, сгенерированные классы все хранились в одном файле, построенном из контекста. Я вижу, что в EF 6 шаблоны используются для генерации контекста и классов.

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

Метод тестирования SystemDataUnitTests.UnitTest1.TestMethod1 выбрал исключение: System.Data.Entity.Core.MetadataException: Указанная схема недействительна. Ошибки. Отображение типа CLR типа EDM неоднозначно, поскольку несколько типов CLR соответствуют типу EDM «EventLog». Ранее найденный тип CLR ...

Я искал ошибку, и я не могу понять, как сделать удаление одного из классов и все еще работать.

Принятый ответ

Благодаря @Pawel я придумал решение моей проблемы.

Если вы пришли из предыдущей версии EF, как я, и хотите НЕ использовать EF, созданные классы POCO, вы хотите использовать EntityObjects. Опять же, чтобы сохранить ту же функциональность, что и старые версии EF, и хотите перейти на EF 6, используйте EF 6.x Entity Object Generator.

Лучший способ сделать это - использовать инструмент «Расширения и обновления» в VisualStudio для поиска «EF 6.x EntityObject Generator».




Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему