我正在尝试使用名为BaseRepository的基类创建一个使用EF的通用存储库。由于一个奇怪的原因,我的更新方法不起作用。代码如下
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 :(得分:3)
错误是缺少方法异常。有一个Runtime无法找到的方法。
如果接口中的某些方法未实现,则会出现编译时错误。
因此,很可能是您的项目中未引用的dll中的扩展方法。
您需要将EF Nuget包添加到您的项目中,而不是通过添加参考来引用dll。