示例#1
0
        public static void DataRowToObject <T>(DataRow row, DataModel mapping, T graph, DataToObjectDeligations dod)
        {
            ExceptionHelper.FalseThrow <ArgumentNullException>(row != null, "row");
            ExceptionHelper.FalseThrow <ArgumentNullException>(mapping != null, "items");
            ExceptionHelper.FalseThrow <ArgumentNullException>(graph != null, "graph");
            ExceptionHelper.FalseThrow <ArgumentNullException>(row.Table != null, "row.Table");

            foreach (DataColumn column in row.Table.Columns)
            {
                if (mapping.Properties.Contains(column.ColumnName))
                {
                    DataProperty property = mapping.Properties[column.ColumnName];
                    System.Type  realType = GetRealType(property.MemberInfo);
                    object       data     = row[column];
                    if (Convertible(realType, data))
                    {
                        SetValueToObject(property, graph, ConvertData(property, data));
                    }
                }
            }
        }
示例#2
0
        public static void DataReaderToObject <T>(IDataReader dr, DataModel mapping, T graph, DataToObjectDeligations dod)
        {
            ExceptionHelper.FalseThrow <ArgumentNullException>(dr != null, "dr");
            ExceptionHelper.FalseThrow <ArgumentNullException>(mapping != null, "items");
            ExceptionHelper.FalseThrow <ArgumentNullException>(graph != null, "graph");

            DataTable schemaTable = dr.GetSchemaTable();

            foreach (DataRow row in schemaTable.Rows)
            {
                string columnName = row["ColumnName"].ToString();
                if (mapping.Properties.Contains(columnName))
                {
                    DataProperty property = mapping.Properties[row["ColumnName"].ToString()];
                    SetMemberInfo(property, graph);
                    System.Type realType = GetRealType(property.MemberInfo);

                    object data = dr[columnName];
                    if (Convertible(realType, data))
                    {
                        SetValueToObject(property, graph, ConvertData(property, data));
                    }
                }
            }
        }
示例#3
0
 public static void DataRowToObject <T>(DataRow row, T graph, DataToObjectDeligations dod)
 {
     DataRowToObject(row, InnerGetMappingInfo(graph), graph, dod);
 }