CYQ.Data 轻量数据访问层(五) 构造数据行

有了数据结构单元DataCell之后,数据单元行也就很容易写了,因为,所有的数据单元加起来,就成了数据行了

于是,我们很轻易的写出了以下类:

05233718_wgjx.gif 05233718_Bt51.gif Code
05233718_Bt51.gif05233718_wgjx.gif/**//// <summary>
    
/// 一行数据
    
/// </summary>

    public class MDataRow : List<MDataCell>
05233718_Bt51.gif05233718_wgjx.gif    
{
        
public MDataRow()
            : 
base()
05233719_uRPC.gif05233719_ttif.gif        
{
        }

        
public MDataRow(int capacity)
            : 
base(capacity)
05233719_uRPC.gif05233719_ttif.gif        
{
        }

    }

看,没几行代码

现在,我们为行加几个常用的属性,比如访问行所属的表名,还有从行访问出其列的结构,顺便加上一个数据库链接字符串

如下:

05233718_wgjx.gif 05233718_Bt51.gif Code
05233718_wgjx.gif05233718_Bt51.gif常用访问属性#region 常用访问属性
              
        
private string _TableName;
05233719_uRPC.gif05233719_ttif.gif        
/**//// <summary>
        
/// 数据库表名
        
/// </summary>

        public string TableName
05233719_uRPC.gif05233719_ttif.gif        
{
            
get
05233719_uRPC.gif05233719_ttif.gif            
{
                
return _TableName;
            }

            
set
05233719_uRPC.gif05233719_ttif.gif            
{
                _TableName 
= value;
            }

        }

        
private string _ConnectionString;
05233719_uRPC.gif05233719_ttif.gif        
/**//// <summary>
        
/// 所属的表的数据库链接字符串
        
/// </summary>

        public string ConnectionString
05233719_uRPC.gif05233719_ttif.gif        
{
            
get
05233719_uRPC.gif05233719_ttif.gif            
{
                
return _ConnectionString;
            }

            
set
05233719_uRPC.gif05233719_ttif.gif            
{
                _ConnectionString 
= value;
            }

        }

        
private MDataColumn _Columns = null;
05233719_uRPC.gif05233719_ttif.gif        
/**//// <summary>
        
/// 数据列集合
        
/// </summary>

        public MDataColumn Columns
05233719_uRPC.gif05233719_ttif.gif        
{
            
get
05233719_uRPC.gif05233719_ttif.gif            
{
                
if (_Columns == null)
05233719_uRPC.gif05233719_ttif.gif                
{
                    _Columns 
= new MDataColumn(base.Count);
                    
for (int i = 0; i < base.Count; i++)
05233719_uRPC.gif05233719_ttif.gif                    
{
                        _Columns.Add(
base[i].DataStruct);
                    }

                }

                
return _Columns;
            }

        }

        
#endregion

OK,此至属性也加完了,顺便加个克隆方法

05233718_wgjx.gif 05233718_Bt51.gif Code
05233718_wgjx.gif05233718_Bt51.gif克隆#region 克隆
        
public MDataRow Clone()
05233719_uRPC.gif05233719_ttif.gif        
{
            MDataRow dataRow 
= new MDataRow(base.Count);

            
for (int i = 0; i < base.Count; i++)
05233719_uRPC.gif05233719_ttif.gif            
{
                MDataCellStruct mcb 
= base[i].DataStruct;
                MDataCell mdc 
= new MDataCell(ref mcb);
                mdc.Value 
= base[i].Value;
                dataRow.Add(mdc);
            }

            dataRow.ConnectionString 
= this.ConnectionString;
            dataRow.TableName 
= this.TableName;
            
return dataRow;
        }

        
#endregion

至此,数据行也构建完成了

转载于:https://my.oschina.net/secyaher/blog/274327

猜你喜欢

转载自blog.csdn.net/weixin_34245169/article/details/91966802