我使用实体框架和ASP。NET MVC 4构建应用程序

我的解决方案分为两个项目;

一个类库,其中包括我的数据模型(.edmx)文件和一些自定义接口 引用上面类库的“容器”MVC项目

我的问题是,当我试图使用'MyEntites' DbContext时,我得到以下错误:

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

我猜这个问题与连接字符串位于类库的app.config而不是MVC项目的事实有关。

有人有什么建议吗?


当前回答

Add an App.Config file Set the project as startup project. Make sure you add the connection strings after entityFramework section: <configSections> <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/> </configSections> <connectionStrings> <!-- your connection string goes here, after configSection --> </connectionString>

其他回答

我有这个问题时,我使用多个项目,启动项目与web。EntityFramework项目的config和app.config。

为了避免这个问题,你必须:

您需要连接字符串在开始*。配置文件。 您需要将EntityFramework DLL安装到引用中

尝试将连接字符串复制到MVC项目中的.config文件中。

我在运行MSTest时遇到了这个问题。如果没有“不隔离”的标志,我就无法让它工作。

希望这能帮助到一些人。花了我很多时间才弄明白。在IDE中一切都运行正常。在这个上下文中,实体框架有些奇怪。

如果您正在使用MVVM模型,请尝试将连接字符串复制到项目的所有部分。

例如,如果您的解决方案包含两个项目,类库项目和wpf项目,您必须复制后端项目(库类项目)的连接字符串,并将副本放在wpf项目的App.config文件中。

<connectionStrings>
  <add name="DBEntities" ... />
</connectionStrings>

希望对你有帮助:)

由包含.edmx文件的项目生成的连接字符串生成连接字符串,这似乎是app.config类型文件的保留,这些文件被复制到输出目录,并被可执行文件引用以存储运行时配置信息。

这在web项目中中断,因为没有自动的过程将随机的.config信息添加到web中。web项目的配置文件。

最简单的方法是将连接字符串从配置文件复制到web的连接部分。配置文件,忽略配置文件内容。