在試圖實踐問題分離時,我正在採用ASP.NET MVC項目,並將模型和DBContext放入同一解決方案中的單獨項目中。現在我有一個包含ViewModels,控制器和視圖的Project.Web,並且我爲Models和DAL提供了Projects.Entities。具有ConnectionString屬性的web.config文件位於Project.Web項目中。從同一解決方案中的不同項目訪問EF ConnectionString MVC
Project.Web
<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的connectionString名沒有得到由回升DBContext,因爲它在另一個項目的web.config中。我如何緩解這一點?當所有MVC組件都在同一個項目中時,一切正常。
使用的DbContext構造與連接字符串參數。然後你可以通過這個你的網站項目和你的DAL不需要保留一個重複的值 – Jasen 2015-03-19 01:20:41
我想這就是我想要做的事情,但是不太確定在哪裏實施,你能給我一個快速的例子嗎?我試過但無法工作的公共部分類MyEFEntities { public MyEFEntities(string connectionstring) :base(connectionstring) { } }' – Reza 2015-03-19 01:27:34