实体框架抛出无效操作异常 - 找不到app.config中的连接字符串

时间:2015-11-02 08:46:52

标签: c# entity-framework entity-framework-6

我从数据库中添加了一个新的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=&quot;data source=MYUSER\SQLEXPRESS;initial catalog=ClientSensorLocation;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;"
               providerName="System.Data.EntityClient" />
              </connectionStrings>
              <startup>
                <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" />
          </startup>
        </configuration>

因此存在具有该名称的连接字符串。那似乎是什么问题呢?

1 个答案:

答案 0 :(得分:3)

如果您在引用Projects时使用DbContext,则还需要在项目配置文件中注册连接字符串。

例如,如果您在Web项目中使用DbContext,请检查连接字符串是否在web.config上。