コード例 #1
0
        /// <summary>
        /// 将对象转换实体
        /// </summary>
        public Model.site_channel DataRowToModel(DataRow row)
        {
            Model.site_channel model = new Model.site_channel();
            if (row != null)
            {
                #region 主表信息======================
                //利用反射获得属性的所有公共属性
                Type modelType = model.GetType();
                for (int i = 0; i < row.Table.Columns.Count; i++)
                {
                    PropertyInfo proInfo = modelType.GetProperty(row.Table.Columns[i].ColumnName);
                    if (proInfo != null && row[i] != DBNull.Value)
                    {
                        proInfo.SetValue(model, row[i], null);//用索引值设置属性值
                    }
                }
                #endregion

                #region 子表信息======================
                StringBuilder strSql = new StringBuilder();
                strSql.Append("select * from " + databaseprefix + "site_channel_field");
                strSql.Append(" where channel_id=@channel_id");
                MySqlParameter[] parameters =
                {
                    new MySqlParameter("@channel_id", MySqlDbType.Int32, 4)
                };
                parameters[0].Value = model.id;
                DataTable dt = DbHelperMySql.Query(strSql.ToString(), parameters).Tables[0];

                if (dt.Rows.Count > 0)
                {
                    int rowsCount = dt.Rows.Count;
                    List <Model.site_channel_field> models = new List <Model.site_channel_field>();
                    Model.site_channel_field        modelt;
                    for (int n = 0; n < rowsCount; n++)
                    {
                        modelt = new Model.site_channel_field();
                        Type modeltType = modelt.GetType();
                        for (int i = 0; i < dt.Rows[n].Table.Columns.Count; i++)
                        {
                            PropertyInfo proInfo = modeltType.GetProperty(dt.Rows[n].Table.Columns[i].ColumnName);
                            if (proInfo != null && dt.Rows[n][i] != DBNull.Value)
                            {
                                proInfo.SetValue(modelt, dt.Rows[n][i], null);
                            }
                        }
                        models.Add(modelt);
                    }
                    model.channel_fields = models;
                }
                #endregion
            }
            return(model);
        }
コード例 #2
0
ファイル: site_channel.cs プロジェクト: ganmkTrue/DTCMS_MVC
        /// <summary>
        /// 将对象转换实体
        /// </summary>
        public Model.site_channel DataRowToModel(DataRow row)
        {
            Model.site_channel model = new Model.site_channel();
            if (row != null)
            {
                #region 主表信息======================
                //利用反射获得属性的所有公共属性
                Type modelType = model.GetType();
                for (int i = 0; i < row.Table.Columns.Count; i++)
                {
                    PropertyInfo proInfo = modelType.GetProperty(row.Table.Columns[i].ColumnName);
                    if (proInfo != null && row[i] != DBNull.Value)
                    {
                        proInfo.SetValue(model, row[i], null);//用索引值设置属性值
                    }
                }
                #endregion

                #region 子表信息======================
                StringBuilder strSql = new StringBuilder();
                strSql.Append("select * from " + databaseprefix + "site_channel_field");
                strSql.Append(" where channel_id=" + model.id);
                DataTable dt = ReadDataBase.QueryFillDataSet(strSql.ToString()).Tables[0];

                if (dt.Rows.Count > 0)
                {
                    int rowsCount = dt.Rows.Count;
                    List <Model.site_channel_field> models = new List <Model.site_channel_field>();
                    Model.site_channel_field        modelt;
                    for (int n = 0; n < rowsCount; n++)
                    {
                        modelt = new Model.site_channel_field();
                        Type modeltType = modelt.GetType();
                        for (int i = 0; i < dt.Rows[n].Table.Columns.Count; i++)
                        {
                            PropertyInfo proInfo = modeltType.GetProperty(dt.Rows[n].Table.Columns[i].ColumnName);
                            if (proInfo != null && dt.Rows[n][i] != DBNull.Value)
                            {
                                proInfo.SetValue(modelt, dt.Rows[n][i], null);
                            }
                        }
                        models.Add(modelt);
                    }
                    model.channel_fields = models;
                }
                #endregion

                #region 缩略图尺寸====================
                StringBuilder strSql3 = new StringBuilder();
                strSql3.Append("select id,title,class_id,channel_id,width,height,typeid,is_lock,add_time from " + databaseprefix + "site_channel_thum");
                strSql3.Append(" where channel_id=" + model.id);
                DataTable ds3 = ReadDataBase.QueryFillDataSet(strSql3.ToString()).Tables[0];

                if (ds3.Rows.Count > 0)
                {
                    int i = ds3.Rows.Count;
                    List <Model.site_channel_thum> models = new List <Model.site_channel_thum>();
                    Model.site_channel_thum        modelt;
                    for (int n = 0; n < i; n++)
                    {
                        modelt = new Model.site_channel_thum();
                        Type modeltType = modelt.GetType();
                        for (int j = 0; j < ds3.Rows[n].Table.Columns.Count; j++)
                        {
                            PropertyInfo proInfo = modeltType.GetProperty(ds3.Rows[n].Table.Columns[j].ColumnName);
                            if (proInfo != null && ds3.Rows[n][j] != DBNull.Value)
                            {
                                proInfo.SetValue(modelt, ds3.Rows[n][j], null);
                            }
                        }
                        models.Add(modelt);
                    }
                    model.channel_thums = models;
                }
                #endregion
            }
            return(model);
        }