#entity-framework #entity-framework-4.1
#entity-framework #entity-framework-4.1
Вопрос:
У меня очень своеобразная проблема, которая проявляется только сразу после перестройки базы данных.
Если я удалю свою базу данных, повторно заполните и немедленно выполните:
dbContext.Employees.Where(expr).ToList()
Я получаю следующую ошибку:
Экземпляр ObjectContext удален и больше не может использоваться для операций, требующих подключения.
Однако, если я удалю базу данных, повторно заполню и немедленно выполню:
dbContext.Employees.ToList()
Это работает просто отлично.
Если я недавно (в том же потоке) не удалил базу данных и не перестроил ее заново, оба оператора выполняются просто отлично. Я получаю ошибку только после перестройки базы данных. Есть идеи?
Примечание: класс Employee не имеет дочерних классов. Он состоит только из целых чисел и строк.
Комментарии:
1. Почему вы удаляете базу данных в том же потоке? Это модульный тест?
2. Хороший вопрос. Да, я запускаю серию модульных тестов. Мы настроили его так, чтобы удалить базу данных, если модель данных изменилась. Если модель данных не изменилась, модульные тесты завершаются без каких-либо проблем. Однако, если модель изменилась, и ей необходимо удалить базу данных, «ToList» с предложением Where выдает ошибку.