【问题标题】:'EntityState' is an ambiguous reference between 'System.Data.EntityState' and 'System.Data.Entity.EntityState''EntityState' 是 'System.Data.EntityState' 和 'System.Data.Entity.EntityState' 之间的模糊引用
【发布时间】:2016-12-02 19:57:36
【问题描述】:

我收到了错误

'EntityState' 是一个模棱两可的引用 'System.Data.EntityState' 和 'System.Data.Entity.EntityState'

我在使用 mvc5 实体框架的 4 个控制器上遇到此错误。

有问题的线路是db.Entry(director).State = EntityState.Modified;

每个控制器都相同,只是型号不同。

【问题讨论】:

    标签: c# asp.net entity-framework


    【解决方案1】:

    根据您想要的,只需提供完全限定的 EntityState:

    db.Entry(director).State = System.Data.EntityState.Modified;
    

    db.Entry(director).State = System.Data.Entity.EntityState.Modified;
    

    【讨论】:

      【解决方案2】:

      在您的控制器中添加了两个命名空间,名为 System.DataSystem.Data.Entity,并且都具有 EntityState 属性。编译器在这里令人困惑,并为您提供ambiguous reference 错误。您需要使用命名空间指定属性,如

      db.Entry(director).State = System.Data.Entity.EntityState.Modified; 
      

      【讨论】:

        【解决方案3】:

        您应该使用System.Data.Entity.EntityState 而不是System.Data.EntityState

        【讨论】:

        • 尽管与它有些相关,但您并未对所提出的实际问题提供答案。
        【解决方案4】:

        无需提供完全合格的。 如果页面顶部有两个 using:

        使用 System.Data; 使用 System.Data.Entity;

        应该删除(使用 System.Data;)

        注意:删除另一个使用like(使用EntityState = System.Data.EntityState;)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-05-12
          • 2022-06-28
          相关资源
          最近更新 更多