我从数据库中添加了一个新的ADO.NET数据模型,一切都很顺利。
然后我尝试拨打电话获取其中一张表:
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>
因此存在具有该名称的连接字符串。那似乎是什么问题呢?
答案 0 :(得分:3)
如果您在引用Projects时使用DbContext
,则还需要在项目配置文件中注册连接字符串。
例如,如果您在Web项目中使用DbContext
,请检查连接字符串是否在web.config上。