2009-11-20 3 views
0

ASP.NET 엔터티 프레임 워크를 사용하면 두 엔터티 간의 외래 키 연결을 어떻게 변경할 수 있습니까?Entity Framework를 사용하여 외래 키 연결을 어떻게 변경합니까?

---------------  ---------------- 
| Customer |  |  Class | 
---------------  ---------------- 
| ID   |  | Desctription | 
| Name  |  | Name   | 
| ClassID (FK)|-----| ID   | 
---------------  ---------------- 

고객은 클래스 D 고객으로 시작합니다

는 다음 예제 시나리오입니다. 고객이 더 많이 소비할수록 분류는 C, B 또는 A로 바뀝니다. 어떻게 EF를 사용하여이 작업을 수행 할 수 있습니까?

내가 EF와 내 솔루션 (일부 작업 때문에 EF 외부 작업 필요) 사이의 외관을 설정 한, 나는 이런 식으로 일을 시도 :

customer.Context.Class.ID = facade.SelectClass (ClassID가)

클래스의 비즈니스 개체를 반환하지만 customer.Context.Class.ID는 데이터 계층 개체를 원하고, 내가 그렇게 할 수 있지만, 그것은 의미

난에서 이탈 설정된 레이어 디자인.

이 주변에 어떤 방법이 있나요? 문제는 조금 지저분 또는 퍼지 경우

죄송합니다.

답변

1

첫째, 모든 별도의 레이어없이 질문에 대답 할 수 있습니다. 바로 EF에서 다음과 같이 할 수 있습니다.

var customer = Context.Customers.Where(c.Id == id).First(); 
customer.Class = Context.Classes.Where(c.Id == classId).First(); 

이제 어떻게 비즈니스 개체에 매핑 할 수 있습니까? 코드를 보지 않고 코드를 디버깅 할 수는 없지만 업무 유형을 데이터 계층 유형에 매핑하는 외관의 일부 기능을 노출해야합니다. 표현으로이 작업을 수행하지만 많은 솔루션이 있습니다.

+0

이것은 나를 위해 문제를 완전히 해결하지는 않았지만 그 과정에서 도움이되었습니다. 감사! –

관련 문제