我使用实体框架和ASP。NET MVC 4构建应用程序
我的解决方案分为两个项目;
一个类库,其中包括我的数据模型(.edmx)文件和一些自定义接口 引用上面类库的“容器”MVC项目
我的问题是,当我试图使用'MyEntites' DbContext时,我得到以下错误:
中找不到名为“MyEntities”的连接字符串 应用程序配置文件。
我猜这个问题与连接字符串位于类库的app.config而不是MVC项目的事实有关。
有人有什么建议吗?
我使用实体框架和ASP。NET MVC 4构建应用程序
我的解决方案分为两个项目;
一个类库,其中包括我的数据模型(.edmx)文件和一些自定义接口 引用上面类库的“容器”MVC项目
我的问题是,当我试图使用'MyEntites' DbContext时,我得到以下错误:
中找不到名为“MyEntities”的连接字符串 应用程序配置文件。
我猜这个问题与连接字符串位于类库的app.config而不是MVC项目的事实有关。
有人有什么建议吗?
当前回答
正如您所猜测的,这与类库的app.config中的连接字符串有关。
将类app.config中的条目复制到容器的app.config或web中。配置文件
其他回答
当我试图在AutoCAD插件中使用EF时,出现了这个错误。CAD插件从acad.exe.config文件中获取连接字符串。将上面提到的连接字符串添加到acad配置文件中,它就可以工作了。
功劳归于诺曼。来自adn网的袁。
如果将启动项目更改为没有连接字符串的项目,也会发生这种情况。
右击解决方案-单击属性 在“公共属性”下,选择启动项目 在右窗格中选择项目 有连接字符串(在大多数情况下,这将是MVC项目- 启动解决方案的项目)
你是对的,这是因为类库(其中.edmx文件)不是你的启动/主项目。
您需要将连接字符串复制到主项目配置文件。
如果你的启动/主项目没有配置文件(就像在我的控制台应用程序的情况下),只需添加一个(启动项目-添加新项->应用程序配置文件)。
更多相关信息可以在这里找到: MetadataException:无法加载指定的元数据资源
正如您所猜测的,这与类库的app.config中的连接字符串有关。
将类app.config中的条目复制到容器的app.config或web中。配置文件
当您在项目中使用图层并在DataLayer中定义或安装实体框架并尝试运行项目时,会发生此问题
因此,为了克服这个问题,从Edmx文件所在的层复制连接字符串,并将连接字符串粘贴到main web.config中。