实体框架无法创建控制器

时间:2012-03-15 12:02:35

标签: asp.net-mvc-3 entity-framework entity-framework-4.1

我正在使用Entity Framework 4.1和数据库第一种方法构建ASP.Net MVC 3 Web应用程序。

我刚刚为以下各项设置了我的解决方案:

  1. UI - MVC app
  2. 模型 - 类库
  3. POCO - 班级图书馆
  4. 存储库 - 类库
  5. 服务 - 类库
  6. 我之前已经设置了几次没有任何麻烦,但现在当我尝试在我的MVC应用程序中创建一个控制器时,我收到以下错误:

    Unable to retrieve metadata for 'Entityname'. An item with the same key has already been added.
    

    当我尝试为其Model类添加任何具有Entity的控制器时会发生这种情况。我很难过。我尝试从db重新创建模型并重新生成我的POCO类,但仍然存在这个问题。

    有人可以帮忙吗?

    感谢。

1 个答案:

答案 0 :(得分:1)

我解决了。当Entity Framework创建我的实体数据模型时,它给导航属性的一些名称有点无意义。因此,我编辑了其中的几个属性,但是,我最终命名了两个不同的导航属性,具有相同类型的关联,同名。不用说EF不喜欢这个。我重命名了有问题的导航属性。这是一个很难解决的问题,因为模型中没有编译错误。