EF 6 System.Data.Objects.ObjectContext Ошибка

asp.net-mvc asp.net-mvc-4 azure-sql-database c# entity-framework-6

Вопрос

Недавно я обновился от Entities Framework 5 до Entities Framework 6 Alpha 2, и я получаю следующую ошибку:

Метод не найден: 'System.Data.Objects.ObjectContext System.Data.Entity.Infrastructure.IObjectContextAdapter.get_ObjectContext ()'.

Это получает удар, когда я звоню

if (Membership.ValidateUser(model.UserName, model.Password)) {}

Раньше это работало хорошо, прежде чем не было уверенности в том, почему это происходит. Какие-либо предложения?

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

EF 6 не имеет System.Data.Objects.ObjectContext . EF 6 перенес некоторые типы, включая ObjectContext , из System.Data.Entity.dll в EntityFramework.dll и изменил их пространства имен. Тот факт, что вы получили эту ошибку, говорит о том, что вы не пытались перекомпилировать свое приложение, вы просто заменили EntityFramework.dll и надеялись на лучшее. Это не сработает. Вам необходимо обновить свой код для работы с EF 6: вам нужно удалить свои ссылки на System.Data.Entity.dll и обновить код, чтобы ссылаться на новые типы.

Возможно, ссылка на свойство IObjectContextAdapter.ObjectContext может быть в некоторой библиотеке, которую вы используете, но, скорее всего, она будет в вашем собственном коде. Сообщение об ошибке (в части, которую вы не указали в своем вопросе) должно сообщить вам, откуда она.


Популярные ответы

Для меня обновление этих ниже работало:
using System.Data.Objects; --> using System.Data.Entity.Core.Objects;

using System.Data.Objects.DataClasses; --> using System.Data.Entity.Core.Objects.DataClasses;




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