我從數據庫中添加了一個新的ADO.NET數據模型,並且一切都很好地生成了。實體框架拋出無效操作異常 - 未找到app.config中的連接字符串
然後我試着撥打電話,以獲得一個表:
public Sensor[] GetAllRegisteredSensors()
{
using (var context = new ClientSensorLocationEntities())
{
try
{
return context.Sensors.ToArray();
}
catch (Exception ex)
{
throw;
}
}
}
,我得到一個異常:
沒有名爲「ClientSensorLocationEntities」連接字符串可能是 在發現應用配置文件。
不言自明,然後我去了我的app.config
文件,該文件是這樣的:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<add name="ClientSensorLocationEntities" connectionString="metadata=res://*/ClientSensorLocationModel.csdl|res://*/ClientSensorLocationModel.ssdl|res://*/ClientSensorLocationModel.msl;
provider=System.Data.SqlClient;provider connection string="data source=MYUSER\SQLEXPRESS;initial catalog=ClientSensorLocation;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework""
providerName="System.Data.EntityClient" />
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" />
</startup>
</configuration>
因此,與該名稱的連接字符串存在。什麼似乎是問題呢?
據我所知,如果您是通過引用類庫或項目實例化dbcontext,則可能還需要在其配置文件中註冊連接字符串。例如,如果您正在Web項目中實例化它,請檢查連接字符串是否在web.config中 – Hendry
是的就是這樣。我的WPF項目實例化了一箇中間層項目的類,然後用另一個項目中提供的代碼引用該類。我不得不將連接字符串添加到鏈中的所有項目以使其工作。謹慎提供答案,以便我可以接受它? – Mefhisto1
這應該沒問題......你的連接字符串確實包含'"',應該用引號替換......可能是這樣嗎? – Heberda