2014-01-04 2 views
0

Я пытаюсь создать общий репозиторий с EF, используя базовый класс BaseRepository. Мой метод обновления не работает, хотя по какой-то странной причине. Код выглядит следующим образомИсключение создания исключения репозитория Entity Framework

public void UpdateItem(T item) 
{ 
    _context.Entry(item).State = EntityState.Modified; 
} 

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

MissingMethodException - метод не нашел: «Пустота System.Data.Entity.Infrastructure.DbEntityEntry'1.set_State (System.Data.EntityState)

Он компилируется отлично, но он ошибки во время выполнения.

У кого-нибудь есть мысли?

+0

Какую версию EF вы используете? –

ответ

3

Ошибка является отсутствующим исключением метода. Существует метод, который Runtime не может найти.

Если бы какой-то метод в интерфейсе не был реализован, вы получили бы ошибку времени компиляции.

Таким образом, вероятно, существует метод расширения, который находится в dll, который не упоминается в вашем проекте.

Вам необходимо добавить пакет EF Nuget в свой проект, а не ссылаться на ссылку dll через ссылку «Добавить».

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