Mvc 4添加带脚手架的控制器给出错误 – “无法检索元数据……”

尝试使用CRUD操作和EF添加控制器时出现以下错误:

无法检索LetLord.Models.Tenant的元数据。 不支持使用相同的DbCompiledModel为不同类型的数据库创建上下文。 而是为正在使用的每种类型的服务器创建单独的DbCompiledModel。

添加Controller对话框设置:

模板:使用EF的具有读/写操作和视图的MVC控制器。

模型类:租户(LetLord.Models)

数据上下文类: LetLordContext(LetLord.Models)

我已经看到类似的问题/问题,并尝试了提供的解决方案,但我无法让它工作。

我的连接字符串:

   

LetLordContext.cs我没有默认的构造函数。 在我调用的InitializeSimpleMembershipAttribute.cs类中

 WebSecurity.InitializeDatabaseConnection("LetLordContext", "UserProfile", "UserId", "UserName", autoCreateTables: true); 

我尝试过的:

  • 如不同问题中所述更改我的提供商名称。
  • 删除连接字符串并将其注释掉。
  • 删除并重新安装entity framework。
  • 确保我已安装SQL Server CE 4.0。
  • 在subversion上恢复到我的项目的早期版本。

我仍然不知所措,所以任何帮助都会非常感激。

找到了解决方法,但我仍然没有注意到导致此错误的原因。

在根web.config文件中我改变了

    

    

这让我用脚手架添加视图,一旦添加,我将字符串更改回原来的状态。 据我所知,任何新的字符串都可以。

这个解决方案有点笨拙,但在尝试了几个解决方案后,我不得不再次开始行动。 我决定创建一个具有不同名称的新模型,并将类内部复制到新模型中。 然后我在“添加控制器”窗口中选择了新模型,并完成了脚手架。

然后我删除了旧模型。

不知道什么被打破,但新模型运作良好。