在尝试实践关注点分离的过程中,我正在将一个ASP.NET MVC项目中的Models和DBContext放入同一解决方案中的一个单独项目中。现在,我有了一个Project.Web项目,其中包含ViewModels、Controllers和Views,还有一个Projects.Entities用于Models和DAL。而具有ConnectionString属性的web.config文件位于Project.Web项目中。
我的问题是,因为SchoolContext的连接字符串名称在另一个项目的web.config文件中,所以DBContext无法获取它。我该如何解决这个问题?当所有MVC组件都在同一个项目中时,一切都正常工作。
<connectionStrings>
<add name="SchoolContext" connectionString="Data Source=localhost;Initial Catalog=ContosoUniversity1;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>
主页控制器:
public class HomeController : Controller
{
private SchoolContext db = new SchoolContext();
Project.Entities
public class SchoolContext : DbContext
{
public SchoolContext() : base("SchoolContext")
{
}
我的问题是,因为SchoolContext的连接字符串名称在另一个项目的web.config文件中,所以DBContext无法获取它。我该如何解决这个问题?当所有MVC组件都在同一个项目中时,一切都正常工作。
public partial class MyEFEntities { public MyEFEntities(string connectionstring) : base(connectionstring) { } }
- Reza