Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net NHibernate和使用IList的XML序列化<;T>;_.net_Xml_Nhibernate_Generics_Xml Serialization - Fatal编程技术网

.net NHibernate和使用IList的XML序列化<;T>;

.net NHibernate和使用IList的XML序列化<;T>;,.net,xml,nhibernate,generics,xml-serialization,.net,Xml,Nhibernate,Generics,Xml Serialization,我最近开始使用NHibernate,总的来说我非常喜欢它 直到我遇到需要序列化为XML并返回的问题 我有一个具有多对多关系的类,因此在父类中有一个IList来保存子对象列表 Class parentClass{ IList<childClass> childList; string varA; string varB; } Class父类{ IList儿童名单; 弦内翻; 字符串变量; } 我需要能够将其序列化为XML并返回,但显然IList阻止了我这样做,因为NH

我最近开始使用NHibernate,总的来说我非常喜欢它

直到我遇到需要序列化为XML并返回的问题

我有一个具有多对多关系的类,因此在父类中有一个IList来保存子对象列表

Class parentClass{
  IList<childClass> childList;

  string varA;
  string varB;
}
Class父类{
IList儿童名单;
弦内翻;
字符串变量;
}
我需要能够将其序列化为XML并返回,但显然IList阻止了我这样做,因为NHibernate希望控制IList的具体实现,在本例中使用了一个包

理想情况下,我希望避免仅仅为了替换列表而使用单独的DTO,因为我使用NHibernate的主要动机是能够将它与POCO一起使用,而不必围绕它编造一个糟糕的框架

我知道可以使用ISerializable控制序列化过程,但这似乎再次否定了首先使用NHibernate降低复杂性的意义

此外,XML还需要保持“简单”,因为它用于与第三方交互

解决此约束的最佳方法是什么

谢谢

见:


一句话:使用DTO。

duplicate:我认为这不是一个新问题,但没有找到与此场景相关的具体问题。看起来DTO是推荐的方式。烦人。看看AutoMapper,它会让事情变得更简单。不过,我觉得把数据复制到另一个基本相同的对象是非常浪费的。你是否尝试过删除代理并使用
DataContractSerializer