2013-12-10 1 views
0

ASP.NET MVC 5에서 단일 웹 응용 프로그램과 함께 여러 dbContext를 사용하는 데 어려움을 겪고 있습니다.ASP.NET MVC 5에서 여러 dbContext 사용에 문제가 발생했습니다.

그래서 자신의 dbContext (DashboardContext)와 함께 제공되는 ADO.NET Entity 모델을 사용하여 dashboardModel을 만든 다음 ADO.net Entity Model (dbContext = RoleContext)을 다시 사용하여 roleModel을 생성했습니다.

나는 모델 separtate와 각각의 DBContext와 비슷한 관심사를 유지하고자한다.

DashboardModel을 만들 때 문제없이 실행되지만 RoleModel을 만들고 실행할 때 코드가 실행됩니다. 그것은 MetadataException 사용자 코드에 의해 처리되지 않은

public DashboardContext() 
     : base("name=DashboardContext") 
    { 
    } 

////

public class DashboardController : Controller 
{ 
    // 
    // GET: /Dashboard/ 
    public ActionResult Home() 
    { 
     using (var db = new DashboardContext()) 
     { 
      var query = from b in db.sys_Functions 
         orderby b.Function_ID 
         select b; 

      foreach(var item in query) 
      { 
       var a1 = item.Title; 
      } 
     } 

     return View(); 
    } 
} 

//

public RoleContext() 
     : base("name=RoleContext") 
    { 
    } 

//

public class TestController : Controller 
{ 
    // 
    // GET: /Test/ 
    public ActionResult Index() 
    { 
     using(var db = new RoleContext()) 
     { 
      var query = from x in db.AspNetRoles 
         orderby x.Name 
         select x; 

      foreach(var item in query) 
      { 
       var t = item.Name; 
      } 
     } 

     return View(); 
    } 
} 
이었다 ==> 대시 컨트롤러 나에게 오류를 범

많은 Thanks

답변

2

모델 separtate와 해당 DBContext와 비슷한 관심사를 유지하고 싶습니다.

DbContext는 데이터베이스의 추상화입니다. 따라서 엔티티를 다른 데이터베이스에 연결하지 않으면 다른 Db 컨텍스트를 사용할 이유가 없습니다.

+0

제 관심사는 비즈니스 문제에 따라 모델을 분리하여 보관하고 싶습니다. Design 메서드를 사용하여 ADO.NET 엔터티 모델을 만들면 항상 dbContext가 생성됩니다 ???? – toxic

+0

내가 여기에 몇 가지 우려 또는 단계를 놓치지 않는 한 ??? – toxic

+0

@ toxic은 다음과 같은 것을 시도하고 있다고 생각합니다 : http://msdn.microsoft.com/en-us/magazine/jj883952.aspx – IronMan84

관련 문제