0
我有一個從數據庫中生成的EF 5.0模型。該模型存在於類庫項目中。這個類庫項目有一個app.config文件,其中包含模型的連接字符串信息。實體框架5.0設計器無法找到數據庫連接
每當我選擇「從數據庫更新模型」,我不得不重新輸入連接字符串。它似乎沒有看到來自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中的連接字符串?我需要添加一個函數導入到模型,我不能,因爲它說沒有連接配置模型。
編輯 那麼我找到了一個解決方案,abeit hacky之一。
See this stackoverflow post here。
OP聲稱他在該項目中重新創建了一個新的EDMX文件,並對其進行了修復。我也是這樣做的,它的確如此。我沒有重新生成我的舊EDMX文件。我剛剛創建了一個新的,然後回到舊的EDMX,現在它可以工作。
它已經在那裏。我不需要它在應用程序運行時連接。這是在設計時期,我需要它來連接。 – 2013-02-20 15:47:07
是的,通常當我看到發生這種情況時,這是因爲連接字符串不存在於web.config中或在您的.edmx所在的項目的app.config中。通常,這是因爲它不在app.config中並且再次讀取您的問題,似乎它在那裏丟失。您可能需要手動添加我的聲音。 – 2013-02-20 19:52:30