实体框架引发无效操作异常-在app.config中找不到连接字符串

本文关键字:config app 找不到 字符串 连接 框架 无效 异常 操作 实体 | 更新日期: 2023-09-27 18:20:14

我从数据库中添加了一个新的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>

因此,具有该名称的连接字符串存在。那么问题出在哪里呢?

实体框架引发无效操作异常-在app.config中找不到连接字符串

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

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