无法将类型’System.Data.EntityState’隐式转换为’System.Data.Entity.EntityState’。 存在显式转换(您是否错过了演员?)

我在使用entity framework时在asp.net中收到此错误:“无法将类型System.Data.EntityState隐式转换为System.Data.Entity.EntityState 。存在显式转换(您是否错过了转换?)”

这是片段:

 foreach (OrderLine line in order.OrderLines) { context.Entry(line.Product).State = System.Data.EntityState.Modified; } 

请建议我该怎么做才能解决错误。

当您使用EF 6或从EF 5移动到EF 6时,您应该使用System.Data.Entity.EntityState而不是System.Data.EntityState 。 当您的项目引用EF6但您有EF5代码时,会发生此错误。

另外,请检查以下链接: 从EF5升级到EF6时,我应该替换System.Data.Objects吗? 。

你的代码必须是这样的:

 if (ModelState.IsValid) { db.Entry(movie).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); return RedirectToAction("Index"); } return View(movie);