/// <summary> /// 为指定的实体创建一个 DataContractSerializer。 /// 此过程会通过引用属性、列表属性,递归搜索实体类中所涉及到的其它所有实体类型, /// 并传递给 DataContractSerializer 作为已知类型,否则,将无法序列化。 /// </summary> /// <param name="entity"></param> /// <returns></returns> public static DataContractSerializer CreateSerializer(Entity entity) { var graph = new SerializationEntityGraph(); graph.DeepSearch(entity); return new DataContractSerializer(entity.GetType(), graph._knownTypes); }
/// <summary> /// 为指定的实体创建一个 DataContractSerializer。 /// 此过程会通过引用属性、列表属性,递归搜索实体类中所涉及到的其它所有实体类型, /// 并传递给 DataContractSerializer 作为已知类型,否则,将无法序列化。 /// </summary> /// <param name="entity"></param> /// <returns></returns> public static DataContractSerializer CreateSerializer(Entity entity) { var graph = new SerializationEntityGraph(); graph.DeepSearch(entity); return(new DataContractSerializer(entity.GetType(), graph._knownTypes)); }