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

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

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

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

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

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

有人有什么建议吗?


当前回答

在web中添加Connectoinstrnig。配置文件

<ConnectionStiring> <add name="dbName" Connectionstring=" include provider name too"  ></ConnectionStiring>

其他回答

正如您所猜测的,这与类库的app.config中的连接字符串有关。

将类app.config中的条目复制到容器的app.config或web中。配置文件

当我试图在AutoCAD插件中使用EF时,出现了这个错误。CAD插件从acad.exe.config文件中获取连接字符串。将上面提到的连接字符串添加到acad配置文件中,它就可以工作了。

功劳归于诺曼。来自adn网的袁。

在根web中添加一个连接字符串。'container' MVC项目的配置文件引用类库如下:

 <connectionStrings>

  <add name="MyEntities" connectionString="complete connection string here" providerName="System.Data.SqlClient" />

  </connectionStrings>

如果你不想使用“MyEntities”作为连接名,那么按照你的愿望更改它,但在你的MyEntities DbContext类中做以下更改:

MyEntities: DbContext
 {
   public MyEntities():base("Name-Of-connection-string-you wish to connect"){ }
 }

这个错误的原因是,如果我们没有在DbContext的派生类中指定连接字符串或连接字符串的名称(在您的情况下是MyEntities),那么DbContext将自动在根web中搜索连接字符串。配置文件,其名称与派生类名称相同(在您的情况下,它是My Entities)。

您的解决方案中是否使用了多个项目?

因为如果你是,你必须检查的web配置是与de .edmx文件在同一个项目中的配置

如果将启动项目更改为没有连接字符串的项目,也会发生这种情况。

右击解决方案-单击属性 在“公共属性”下,选择启动项目 在右窗格中选择项目 有连接字符串(在大多数情况下,这将是MVC项目- 启动解决方案的项目)