在应用程序配置文件中找不到名为的连接字符串

我正在使用EF并从中生成.EDMX,但后来我只希望它用于自动生成类文件。

然后,我使用类文件创建实体模型,然后创建数据库上下文,然后创建存储库。 我正在调用WebApi(它在一个单独的项目中,但是在相同的解决方案中)来访问存储库以获取GET数据。 当我运行WebApi时,我收到了错误,

{“在应用程序配置文件中找不到名为’DBEntities’的连接字符串。”}

但是在我的DAL中,我有一个webConfig,并且有以下条目,所以我不太确定出了什么问题,

add name="DBEntities" connectionString="metadata=res://*/Models.DBModel.csdl|res://*/Models.DBModel.ssdl|res://*/Models.DBModel.msl;provider=System.Data.SqlClient;provider connection string="data source=MY-PC;initial catalog=DB;integrated security=True;multipleactiveresultsets=True;application name=EntityFramework"" providerName="System.Data.EntityClient" 

你说“在我的DAL中,我有一个webConfig”。 我猜连接字符串在引用的类库的配置文件中,但不在您的条目项目中的主配置文件中(web api项目,我想看标签)。

如果是这样,只需复制条目项目配置文件中的连接字符串。

在DBContext文件中,删除

 public RaficaDB() : base("name=DefaultConnection"){} 

 public RaficaDB() : base("DefaultConnection"){} 

EF 4.3,EF 5和EF 6不喜欢名为name = xxxxx的连接字符串

在此处找到答案 – > 在应用程序配置文件中找不到名为“MyApplicationEntities”的连接字符串

在.edmx文件所在的同一项目的.config文件的配置部分中插入以下部分。

您还可以在主项目的.config文件中为不同的环境创建不同的连接字符串,并将任何连接字符串作为DBContext的构造函数的参数传递。

    

我发现这有效:

1)检查是否有多个“App.config”文件。 2)检查名称是否与其必须使用的连接字符串的名称相同。 3)保存项目并运行程序

它现在应该工作。

最简单的解决方案:

删除app.config中的当前edmx文件和相关连接字符串,并添加与之前相同名称的Edmx项目。

这对我有用。

将连接字符串复制并粘贴到WEBAPI项目web.config文件将解决此问题。

这是愚蠢的,但我有一个由Rebuild All修复的错误!
不妨关掉它再打开……