/// <summary>
        ///
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="serializedData"></param>
        /// <param name="target"></param>
        public static void FillDeserializedCollection <T>(object serializedData, EditableDataObjectCollectionBase <T> target)
        {
            if (serializedData != null)
            {
                T[] deserializedArray = JSONSerializerExecute.Deserialize <T[]>(serializedData);

                target.Clear();

                deserializedArray.ForEach(d => target.Add(d));
            }
        }
        /// <summary>
        /// DataView的数据转换到集合中
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="collection"></param>
        /// <param name="view"></param>
        /// <param name="dod"></param>
        /// <returns>返回原有的集合</returns>
        public static EditableDataObjectCollectionBase <T> DataViewToCollection <T>(EditableDataObjectCollectionBase <T> collection, DataView view, DataToObjectDeligations dod) where T : new()
        {
            collection.NullCheck("collection");
            view.NullCheck("view");

            using (ORMappingContext context = ORMappingContext.GetContext())
            {
                foreach (DataRowView drv in view)
                {
                    collection.Add(DataRowToObject(drv.Row, new T(), dod));
                }
            }

            return(collection);
        }
        /// <summary>
        /// DataReader到Collection
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="collection"></param>
        /// <param name="dr"></param>
        /// <param name="dod"></param>
        public static void DataReaderToCollection <T>(EditableDataObjectCollectionBase <T> collection, IDataReader dr, DataToObjectDeligations dod) where T : new()
        {
            dr.NullCheck("dr");

            using (ORMappingContext context = ORMappingContext.GetContext())
            {
                while (dr.Read())
                {
                    T graph = new T();

                    DataReaderToObject(dr, graph, dod);

                    collection.Add(graph);
                }
            }
        }
        /// <summary>
        /// DataView的数据转换到集合中
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="collection"></param>
        /// <param name="view"></param>
        /// <param name="dod"></param>
        public static void DataViewToCollection <T>(EditableDataObjectCollectionBase <T> collection, DataView view, DataToObjectDeligations dod) where T : new()
        {
            collection.NullCheck("collection");
            view.NullCheck("view");

            using (ORMappingContext context = ORMappingContext.GetContext())
            {
                foreach (DataRowView drv in view)
                {
                    T graph = new T();

                    DataRowToObject(drv.Row, graph, dod);

                    collection.Add(graph);
                }
            }
        }
 /// <summary>
 /// DataReader到Collection
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="collection"></param>
 /// <param name="dr"></param>
 /// <param name="items"></param>
 public static void DataReaderToCollection <T>(EditableDataObjectCollectionBase <T> collection, IDataReader dr, ORMappingItemCollection items) where T : new()
 {
     DataReaderToCollection <T>(collection, dr, items, null);
 }
 /// <summary>
 /// DataReader到Collection
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="collection"></param>
 /// <param name="dr"></param>
 public static void DataReaderToCollection <T>(EditableDataObjectCollectionBase <T> collection, IDataReader dr) where T : new()
 {
     DataReaderToCollection <T>(collection, dr, (DataToObjectDeligations)null);
 }
 /// <summary>
 /// DataView的数据转换到集合中
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="collection"></param>
 /// <param name="items"></param>
 /// <param name="view"></param>
 public static void DataViewToCollection <T>(EditableDataObjectCollectionBase <T> collection, ORMappingItemCollection items, DataView view) where T : new()
 {
     DataViewToCollection(collection, items, view, null);
 }
 /// <summary>
 /// DataView的数据转换到集合中
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="collection"></param>
 /// <param name="view"></param>
 public static void DataViewToCollection <T>(EditableDataObjectCollectionBase <T> collection, DataView view) where T : new()
 {
     DataViewToCollection(collection, view, null);
 }
        /// <summary>
        /// DataReader到Collection
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="collection"></param>
        /// <param name="dr"></param>
        /// <param name="items"></param>
        /// <param name="dod"></param>
        /// <returns>返回原有的集合</returns>
        public static EditableDataObjectCollectionBase <T> DataReaderToCollection <T>(EditableDataObjectCollectionBase <T> collection, IDataReader dr, ORMappingItemCollection items, DataToObjectDeligations dod) where T : new()
        {
            dr.NullCheck("dr");
            items.NullCheck("items");
            dod.NullCheck("dod");

            using (ORMappingContext context = ORMappingContext.GetContext())
            {
                while (dr.Read())
                {
                    collection.Add(DataReaderToObject(dr, items, new T(), dod));
                }
            }

            return(collection);
        }
 /// <summary>
 /// DataView的数据转换到集合中
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="collection"></param>
 /// <param name="view"></param>
 /// <returns>返回原有的集合</returns>
 public static EditableDataObjectCollectionBase <T> DataViewToCollection <T>(EditableDataObjectCollectionBase <T> collection, DataView view) where T : new()
 {
     return(DataViewToCollection(collection, view, null));
 }