asp.net-mvc – MVC“添加控制器”是“无法检索元数据…配置系统无法初始化”

从零开始,我做了两个项目的新解决方案:一个是MVC 3,另一个支持EF 4.2项目.整个事情成功建成.从MVC项目中,我打开“添加控制器”对话框,并根据从支持的EF项目中选择的上下文和模型生成代码. “添加控制器”对话失败,并显示以下消息:

Unable to retrieve Metadata for ‘MyModelClass’. Configuration system Failed to initialize.

我注意到,“添加控制器”对话框实际上是试图从其web.config文件获取数据库连接字符串.首先,这使我像愚蠢的,因为支持的EF项目已经有一个具有连接字符串的app.config.但是永远不要说,最好的是,web.config中的连接字符串是不好的.这是它的样子:

<add name="Monsters2Entities" 

    connectionString="
      Metadata=res://*/Monsters.csdl|
               res://*/Monsters.ssdl|
               res://*/Monsters.msl;
      provider=System.Data.sqlClient;
      provider connection string=&quot;
        data source=.;
        initial catalog=Monsters2;
        integrated security=True;
        pooling=False;
        multipleactiveresultsets=True;
        App=EntityFramework
      &quot;" 
      providerName="System.Data.EntityClient" 
/>

连接字符串实际上并不具有所有可笑的换行符和缩进 – 我只是想让它更容易阅读.无论如何,该连接字符串与在其建模的支持EF项目中使用的连接字符串基本相同.如何纠正这种情况,使“添加控制器”dialgoue快乐?

解决方法

我安装了EF 6,它补充说:
<providers>
    <provider invariantName="System.Data.sqlClient" 
        type="System.Data.Entity.sqlServer.sqlProviderServices,EntityFramework.sqlServer" />
</providers>

在我的配置文件.我有其他脚手架问题,所以决定退回到Ef 5.卸载EF 6并重新安装EF 5后,我从配置中删除,然后我能够构建我的新控制器.我用这个发现了

PM> Update-Database –Verbose

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....