Пример #1
0
        /// <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);
        }
Пример #2
0
        /// <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));
        }