2009-03-21 4 views
1

프로젝트에 회사 테이블을 연결하는 FK CompanyId가있는 Project 테이블이 있다고 가정 해 봅니다.모델 클래스의 외래 키 관계 처리 방법

프로젝트 모델에서 회사 개체 또는 CompanyId 속성 만 추가하고 코드가 필요할 때 회사를 검색합니까?

답변

2

이것은 당신이 무엇을 할 것인가에 달려 있습니다. 예를 들어 프로젝트를 만드는 데 필요한 모든 필드가있는 UI가 있고 해당 UI에서 프로젝트를 드롭 다운 상자와 연결하려면 회사를 선택하면 키를 연관시키는 것이 합당하고 효율적인 작업이 될 것입니다.

회사 개체를 "순도"측면에서 첨부하는 것이 더 좋겠지 만, 실제로 고객과 관련된 작업을 수행하지 않은 경우 단순히 키만 사용하게됩니다. 어떤 언어/플랫폼을 사용하는지 모르지만 회사 객체가 JIT 기반으로 데이터로 채워지는 일종의 지연로드 스킴을 고려할 수 있습니다.

+0

너무 늦게 내 대답을 알았습니다. 사실 Phil의 답변에 대한 답변은 거의 중복되었습니다. +1 – RobS

0

LinqToSQL을 사용할 때 외래 키 관계는 SQLMetal에 의해 생성 된 비즈니스 엔티티에서 자동으로 모델링됩니다. 엔티티 유형에는 하위 또는 상위 유형의 이름이 지정된 하위 또는 상위 속성이 있습니다. 이들을 사용하여 관련 비즈니스 엔티티를 검색 할 수 있습니다.

이러한 속성은 지연로드를 지원하므로 필요에 따라 각각의 하위 또는 상위 엔티티는 데이터베이스에서로드됩니다.

+0

저는 linqtosql 모델을 직접 사용하지 않고 있습니다. 별도의 클래스로 래핑하고 있습니다. linqtosql과 독립적이며 nhibernate 지원 등을 제공하고 싶습니다. – kitsune