实体框架5.0设计器可以';找不到数据库连接

本文关键字:数据库连接 找不到 框架 实体 | 更新日期: 2023-09-27 18:00:19

我有一个从数据库生成的EF 5.0模型。此模型存在于类库项目中。此类库项目有一个app.config文件,该文件包含模型的连接字符串信息。

每当我选择"从数据库更新模型"时,我都必须重新输入连接字符串。它似乎看不到app.config文件中的字符串。

此外,在模型更新过程中,如果我单击将连接字符串保存在app.config中,它永远不会保存。

这是我的app.config文件:

    <?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
  </entityFramework>
  <connectionStrings>
    <add name="mapEntities"
        connectionString="metadata=res://*/mapModel.csdl|
                                                       res://*/mapModel.ssdl|
                                                       res://*/mapModel.msl;
                                           provider=Oracle.DataAccess.Client
                                           provider connection string=
                                               &quot;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=myserver.com)(PORT=1521)))(CONNECT_DATA=(SID=MYDB)));User Id=MYUSERNAME;Password=MYPASSWORD;&quot;"
     providerName="System.Data.EntityClient" />
  </connectionStrings>
</configuration>

如何使EF从app.config中看到连接字符串?我需要向模型添加一个函数导入,但我不能,因为它表明没有为模型配置任何连接。

编辑我找到了一个解决方案,称之为一个棘手的解决方案。

点击此处查看此stackoverflow帖子。

OP表示,他在项目中重新创建了一个新的EDMX文件,并修复了它。我也这样做了,确实如此。我没有重新生成旧的EDMX文件。我刚刚创建了一个新的,然后回到旧的EDMX,它现在可以工作了。

实体框架5.0设计器可以';找不到数据库连接

将connectionString部分复制到web.config文件中。