2011-09-19 5 views
3

Entity Framework 4를 사용하여 레거시 응용 프로그램을 C#으로 마이그레이션합니다. 데이터 모델은 일대 다 (one to many) 관계에있는 두 개의 테이블 "Appointment"와 "Authorization"로 구성됩니다. 개념 모델에서 클래스는 적절히 표현됩니다. 또한 "Appointment.Authorizations"탐색 속성은 지금까지 올바로 작동합니다.Entity Framework를 사용하는 복잡한 필터링 조건이있는 탐색 속성

그러나 네비게이션 속성 "Appointment.Authorizations"권한 부여 클래스의 개체 만 특정 조건을 충족하는 나열됩니다. 기준은 매우 복잡 할 수 있습니다. SQL로 표현하면 약 30 줄의 코드가 있습니다. 다른 여러 테이블도 쿼리에 포함됩니다.

enter image description here

어떤 방법은 원하는 선택이 나열되도록 탐색 속성의 동작을 변경하기 위해 지금 최선입니까? 읽기 전용 컬렉션은 괜찮습니다.

답변

1

네비게이션 속성은 비즈니스 로직이 무엇인지 묘사 한 것처럼 보이지만 SQL과 C#에서이 논리에 대해 단위 테스트를 작성할 수 있습니다.

"선택"논리에 대한 자세한 정보를 제공하고 몇 가지 코드를 제공하면 올바른 방향으로 나아갈 수 있습니다.

+1

나는 당신이 옳다고 생각합니다. 그것은 사업 논리이고 모델의 일부분이어서는 안됩니다. – neo

관련 문제