2015-01-02 13 views
0

새해 복 많이 받으세요. 좋아, 난 3 계층 응용 프로그램을 만들려고하고 다음과 같은 순서로 UI를 참조하십시오 -> BLL -> DAL. 질문은 ~이야. 내가 겪고있는 문제는 Dbset입니다. 내 DAL 내 모델에 대한 참조가 없으므로 dbset이 실패합니다.DAL에서 내 모델 참조하기

namespace MyApp.DAL 
{ 
    public class MyAppDb : DbContext 
    { 
     public MyAppDb() : base("name=MyAppDBstring") 
     { } 

     public DbSet<SomeModel> SomeModels { get; set; } 
    } 
} 

내 BLL에서 내 SomeModel 클래스를 찾을 수없는 경우 어떻게 작동합니까? 어떤 도움이라도 대단히 감사하겠습니다.

+0

당신의 모델이 어디 앉아 있습니까? DAL 또는 BLL 또는 다른 프로젝트 내에서? – Matt

+0

안녕하세요, 죄송합니다. 세 가지 프로젝트가 있습니다. 웹/UI, BLL 및 DAL. 내 모든 모델이 내 BLL에 앉아 있습니다. 내 DAL이 내 모델을 "볼"수 없도록 내 BLL이 내 DAL을 참조합니다. 나는 nTier 애플리케이션에 익숙하지 않기 때문에 약간의 어려움을 겪고 있습니다. 이것은 모든 MVC 패턴입니다. –

답변

0

이 경우 DAL 프로젝트에서 BLL 프로젝트에 대한 참조를 추가해야합니다. 참조> 참조 추가를 마우스 오른쪽 단추로 클릭 한 다음 솔루션 탭에서 BLL 프로젝트를 선택하십시오. 이에서

당신은 다음의 라인을 따라 뭔가 위의 클래스의 상단에 using 문을 넣을 수있을 것입니다 :

using MyApp.BLL; 
+0

내 DAL에 대한 참조가있는 BLL 때문에이 작업을 수행 할 수 없습니다. 순환 종속성 오류가 발생합니다. –

+0

아, 미안하지만, 나는 당신의 질문에 그것을 놓쳤습니다. BLL과 DAL 간의 인터페이스를 구현하는 것이 가장 좋습니다. 바퀴의 재발견없이 이것에 대한 아주 좋은 설명은 다음과 같습니다 : http://www.codeproject.com/Articles/616344/What-is-Circular-dependency-and-how-do-we-resolve – Matt

+0

Thanks Matt. 가야하는 것처럼 보입니다. :) –