2012-02-21 3 views
1

NHibernate POCO 클래스를 XML로 직렬화하여 XSLT 변환에 사용하고 싶습니다. DataContractSerializer를 사용하여 시도했지만 프록시 개체 및 ISet 멤버에 포함 된 일대 다 매핑을 인식하지 못하므로 실패합니다. DataContractSerializer를 사용해야합니까, 아니면이를 수행하는 다른 방법이 있습니까? 두 번째로 프록시 객체, 사용자 정의 클래스 및 세트에서 작동하는 일반 DataContractResolver가 있습니까? 나는 단지 직렬화하고 비 직렬화하고 싶지 않다는 것을 명심하라.XML에 대한 NHibernate POCO를 직렬화

답변

2

나는 당신이 당신의 nHibernate POCO를 전혀 직렬화하지 않는 것이 더 좋을 것이라고 주장한다.
개인적으로, 일부 DTO를 만든 다음이를 직렬화합니다.
그 이유는 내가 전체 제어 내가 serialize하는 것 이상으로 갖고 싶다는 것입니다.
nHib POCO를 직렬화하면 수집 속성이 채워지는지 여부를 알지 못합니다. 그렇지 않은 경우에는 알지 못하는 채로 nHib이 무엇을 넣었는지 잘 모르겠습니다.

DTO로 변환하면 명시 적으로로드 할 항목 (직렬화)과 수행하지 않을 항목을 명시 적으로 결정할 수 있다는 장점이 있습니다.

BTW- 서비스 또는 일부 등을 통해 그들에게 보내기 위해 당신이 당신의 객체를 직렬화하는 경우, Ayende은

+0

예, 아주 좋은 조언 : 당신을 위해 some harsh (and true) words이 있지만,이 경우에 나는 XML 변환 해요 로컬 서버에서 XSL-FO를 사용하여 PDF로 변환합니다. 현재, 네이티브 연결을 사용하여 DataTables 및 DataSets를 사용하고 있지만 NHibernate를 사용하고 있으므로 대안을 찾고있었습니다. –

+0

@AndrewWheeler 오, 알겠습니다. 그래서 Ayende의 의견은 귀하의 경우에는 적용되지 않습니다. 그러나 필자는 POCO가 아닌 DTO를 직렬화한다는 아이디어가 여전히 유효하다고 생각합니다. –

관련 문제