2010-01-27 25 views
6

Gần đây tôi đã bắt đầu sử dụng NHibernate, và trên toàn bộ giống như nó rất nhiều.NHibernate và XML Serialization với IList <T>

Cho đến khi tôi gặp sự cố cần phải tuần tự hóa thành XML và ngược lại.

Tôi có một lớp có mối quan hệ nhiều với nhiều, vì vậy có một IList trong lớp cha mẹ để giữ danh sách các đối tượng con.

Class parentClass{ 
    IList<childClass> childList; 

    string varA; 
    string varB; 
} 

tôi cần để có thể serialize này để XML và ngược lại, nhưng rõ ràng các IList ngăn cản tôi từ làm điều này, do NHibernate muốn kiểm soát việc thực hiện cụ thể của IList, trong trường hợp này sử dụng một túi. Lý tưởng nhất là tôi muốn tránh có DTO riêng biệt chỉ để thay thế danh sách, vì động lực chính của tôi khi sử dụng NHibernate là có thể sử dụng nó với POCO và không phải nấu một khung khó chịu xung quanh nó.

Tôi biết là có thể kiểm soát quá trình tuần tự hóa bằng ISerializable, nhưng một lần nữa dường như phủ nhận điểm sử dụng NHibernate ở nơi đầu tiên để giảm độ phức tạp.

Ngoài ra, XML cần giữ nguyên 'đơn giản' vì nó được sử dụng để liên kết với các bên thứ ba.

Cách tốt nhất để giải quyết vấn đề này là gì?

Cảm ơn!

+0

trùng lặp: http://stackoverflow.com/questions/1958684/nhibernate-how-do-i-xmlserialize-an-isett –

+0

Đã tìm thấy đây không phải là vấn đề mới, nhưng không tìm thấy nhiều cụ thể cho trường hợp này. Dường như DTO là cách được khuyên dùng. Làm phiền. – RSlaughter

+0

hãy kiểm tra AutoMapper, nó giúp mọi việc trở nên dễ dàng hơn. –

Trả lời

Các vấn đề liên quan