使用EntityState.Modified时出错

时间:2014-02-23 21:47:30

标签: c# entity-framework

我正在关注this文章,以在Web API项目中实现存储库模式。在存储库中实现更新方法时,我遵循提供的示例,使用:

context.Entry<Item>(item).State = System.Data.EntityState.Modified;

出于某种原因,虽然我收到了以下构建错误,

  

无法将system.data.entitystate类型的实例分配给a   system.data.entity.entitystate类型的变量

除了我使用与示例中使用的实体不同的实体之外,我的代码与示例中的代码相同。任何想法,为什么我可能会收到此错误?我正在使用EF 6.02。

干杯

1 个答案:

答案 0 :(得分:5)

错误信息非常清楚,你使用了错误的类型,你只需要写:

context.Entry<Item>(item).State = System.Data.Entity.EntityState.Modified;

System.Data.Entity.EntityState生活在EF的EntityFramework.dllSystem.Data.EntityState生活在System.Data.Entity.dll

由于EF6,因此无需引用System.Data.Entity.dll(其中包含EntityFramework的某些部分,以前的EF版本中需要这些部分)。

因此,您可以删除System.Data.Entity.dll引用(在创建新项目时由Visual Studio自动添加)以避免将来出现这些类型不匹配错误。