Asp.net mvc 2 将EF4作为MVC项目以外的单独项目使用时出现编译器错误

Asp.net mvc 2 将EF4作为MVC项目以外的单独项目使用时出现编译器错误,asp.net-mvc-2,entity-framework-4,Asp.net Mvc 2,Entity Framework 4,我试图遵循一个普遍的共识,即最好将一个人的域对象放在一个单独的项目中,而不是放在MVC项目中,但我遇到了以下编译器错误: 指定的命名连接在配置中找不到、不打算与EntityClient提供程序一起使用,或者无效 源文件:C:\Users\Kevin\documents\visual studio 2010\Projects\HandiGamer\HandiGamer.Domain\entications\HGDomainModel.Designer.cs行:44 第42行:///使用应用程序配置

我试图遵循一个普遍的共识,即最好将一个人的域对象放在一个单独的项目中,而不是放在MVC项目中,但我遇到了以下编译器错误:

指定的命名连接在配置中找不到、不打算与EntityClient提供程序一起使用,或者无效

源文件:C:\Users\Kevin\documents\visual studio 2010\Projects\HandiGamer\HandiGamer.Domain\entications\HGDomainModel.Designer.cs行:44

第42行:///使用应用程序配置文件“HGEntities”部分中的连接字符串初始化新的HGEntities对象。
第43行:///
第44行:公共HGEntities():基本(“名称=HGEntities”,“HGEntities”)
第45行:{
第46行:this.ContextOptions.LazyLoadingEnabled=true;
我有点困惑,因为HGEntities在实体的App.Config文件中:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <connectionStrings>
    <add name="HGEntities" connectionString="metadata=res://*/Entities.HGDomainModel.csdl|res://*/Entities.HGDomainModel.ssdl|res://*/Entities.HGDomainModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\HandiGamer.mdf;Integrated Security=True;User Instance=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>
</configuration>


我需要将连接添加到我的MVC Web.Config还是什么?

是的,您需要将其添加到您的MVC Web.Config文件中。


由于您有一个ASP.Net MVC项目,因此连接字符串必须出现在运行时将查找它的MVC项目的web.config中。基本上,任何连接字符串都应该出现在可执行项目的配置文件中(即.Net线程由CLR启动的位置)。所以,只要将整个连接字符串复制并粘贴到你的web.conig中,你就完成了!

我不知道该怎么做……在这方面有点新手。介意为我指出正确的语法方向吗?当然,只要从你的app.config复制整个连接字符串,然后转到你的MVC项目,打开它的web.config文件a然后把它贴在那里。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <connectionStrings>
    <add name="HGEntities" connectionString="metadata=res://*/Entities.HGDomainModel.csdl|res://*/Entities.HGDomainModel.ssdl|res://*/Entities.HGDomainModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\HandiGamer.mdf;Integrated Security=True;User Instance=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>
</configuration>