linq에서 sql을 사용하는 리포지토리 패턴을 사용하고 있습니다. 테이블 당 리포지토리 클래스를 사용하고 있습니다. 나는 내가Linq to SQL 리포지토리 패턴, 몇 가지 질문
ContactRepository, 좋은/표준 방법에서 일을하고, 알고 싶은
Contact GetByID()
Contact GetAll()
COntactTagRepository
List<ContactTag> Get(long contactID)
List<ContactTag> GetAll()
List<ContactTagDetail> GetAllDetails()
class ContactTagDetail
{
public Contact Contact {get;set;}
public ContactTag COntactTag {get;set;}
}
내가 contacttag
에 대한 같은 내가 contactrepository에서 메서드를 호출 접촉을 필요로 할 때하지만 연락처와 태그가 필요할 경우 ContactTag 저장소에서 GetDetais()를 호출하여 COntactTag 엔터티를 반환하지 않습니다. orm에 의해 생성 된 그것의 반환 ContactTagDetail 엔티티 conatining 모두 ornt에 의해 생성 된 Contact 및 COntactTag, 나는 COntactTag 저장소에서 GetAll을 간단하게 호출 할 수 있고 Contact.ContactTag에 액세스 할 수 있지만 SQL에 linq로는 지연된로드에 대한 옵션이 없음을 알고 있습니다. 쿼리 수준에서 관련 엔터티가있는 엔티티가 필요할 때마다 프로젝션 클래스를 만듭니다.
또 다른 의심의 여지가 있습니다. 나는 두 메소드 모두에서이 메소드를 올바르게 수행해야합니다. & Contacttag repostitory in Contact repository GetALlWithTags) 또는 뭔가하지만 나는 COntactTag 저장소에서 그것을하고있다
당신의 제안은 무엇입니까?
나는 등의 방법을 삭제/삽입을 쓸 것이다 많은 관련 기관과 저장소가있을 때 그것의 좋은하지만, – MindlessProgrammer
당신은 수에 별도의 서비스가 있어야합니다)입니다 그들이 "작업 단위"로 관련되어있는 한 모든 것을 하나의 저장소에 저장하십시오. –