문제

나는 단순성을 좋아하고 필요로 할 수있는 모든 유형의 쿼리를 처리하기 때문에 제작하는 응용 프로그램에서 Subsonic (2.2)을 사용하고 싶습니다. 동시에, 나는 내 응용 프로그램의 상단 계층을 아첨 유형에서 비교하여 유지하고 싶습니다. 나는 평범한 오래된 C# 객체를 반환하고 Pocos를 통과하여 저장하고 싶습니다.

그러나 여기에 캐치가 있습니다 : 나는 내 Pocos가 FK 관계를 기반으로 아동 컬렉션 및 부모 개체에 대한 게으른로드 속성을 갖기를 원합니다. 나는 어떻게 든 내 poco의 개인 멤버에 subsonic sqlquery 객체를 넣고 게으른로드 속성을 위해 내부적으로 그것을 사용해야한다고 생각합니다.

Subsonic과 함께 특별히 구현하는 방법에 대한 아이디어가 있습니까? 누구든지 전에이 일을 해냈어?

나는 Subsonic의 다음 주요 릴리스가 박스 외부 에서이 일을 할 것이라는 것을 알고 있지만, 그것은 몇 달 남았습니다.

도움이 되었습니까?

해결책 4

이 작업을 수행하는 좋은 방법을 찾을 수 없었습니다. Subonic 3은 매우 멋져 보이고 문제를 해결할 것입니다. 그러나 그 동안 우리는 단지 nhibernate와 함께 갔다.

다른 팁

나는 "대부분"Poco 인 Subsonic의 저장소 영역을 사용합니다. 그런 다음 속성을 선택할 때 다른 클래스를로드하는 클래스에 부분을 만듭니다.

Partial Public Class Book

Private _Author as Database.Author 
Property Author() as Database.Author
  Get
     If _Author is nothing then
       ' Load the author class here.
     End if
     return _Author
  End get
  Set
     ....
  End Set
End Property
End Class

속성을 사용할 수 있습니다.

TableBaseClass = "RepositoryRecord"

그래도 이것이 게으른 하중을 어떻게 처리하는지 모르겠습니다. 너는 볼 수있어 Rob Conery의 게시물 자세한 내용은 그것에 대해.

당신이 원하는 것은 버전 2.X에 있지 않습니다. 템플릿을 편집하여 대부분의 길을 얻을 수 있습니다 (게으른로드 속성의 예제가 있습니다. 내 블로그에서). 또 다른 옵션은 Pocos를 구축 한 다음 Subsonic 생성 클래스 및 쿼리에서 모델에 대한 매핑을 작성하는 클래스를 구축하는 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top