Я недавно начал использовать NHibernate, и в целом он мне очень нравится.
Пока я не столкнулся с проблемой необходимости сериализации в XML и обратно.
У меня есть класс, который имеет отношение многие ко многим, поэтому в родительском классе есть IList для хранения списка дочерних объектов.
Class parentClass{
IList<childClass> childList;
string varA;
string varB;
}
Мне нужно иметь возможность сериализовать это в XML и обратно, но, очевидно, IList не позволяет мне сделать это из-за желания NHibernate контролировать конкретную реализацию IList, в данном случае с помощью Bag.
В идеале я хочу избегать использования отдельных DTO, просто чтобы заменить список, так как моей основной мотивацией для использования NHibernate была возможность использовать его с POCO, и мне не нужно было создавать неприятные рамки вокруг него.
Мне известно, что я могу взять на себя управление процессом сериализации с помощью ISerializable, но опять же, похоже, это сводит на нет смысл использования NHibernate в первую очередь для уменьшения сложности.
Кроме того, XML должен оставаться «простым», поскольку он используется для взаимодействия с третьими сторонами.
Как лучше всего обойти это ограничение?
Спасибо!