我有一个从数据库生成的 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=
"Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=myserver.com)(PORT=1521)))(CONNECT_DATA=(SID=MYDB)));User Id=MYUSERNAME;Password=MYPASSWORD;""
providerName="System.Data.EntityClient" />
</connectionStrings>
</configuration>
如何让 EF 查看 app.config 中的连接字符串?我需要向模型添加一个函数导入,但我不能,因为它说没有为模型配置连接。
编辑 好吧,我找到了一个解决方案,尽管它很老套。
OP 表示他在项目中重新创建了一个新的 EDMX 文件,并修复了它。我也这样做了,确实如此。我没有重新生成旧的 EDMX 文件。我刚刚创建了一个新的,然后回到旧的 EDMX,它现在可以工作了。