using System;
using System.Collections.Generic;
namespace Znyc.Cloudcar.Admin.Commons.Data
{
///
/// 查询结果数据表样式
///
public class MicroDataTable
{
///
/// 整个查询语句结果的总条数,而非本DataTable的条数
///
public int TotalCount { get; set; }
///
/// 数据列名称
///
public List Columns { get; set; } = new();
///
/// 数据记录
///
public List Rows { get; set; } = new();
///
/// 主键
///
public MicroDataColumn[] PrimaryKey { get; set; }
public MicroDataRow NewRow()
{
return new(Columns, new object[Columns.Count]);
}
}
public class MicroDataColumn
{
public string ColumnName { get; set; }
public Type ColumnType { get; set; }
}
public class MicroDataRow
{
private readonly object[] _ItemArray;
public MicroDataRow(List columns, object[] itemArray)
{
Columns = columns;
_ItemArray = itemArray;
}
public List Columns { get; }
public object this[int index]
{
get => _ItemArray[index];
set => _ItemArray[index] = value;
}
public object this[string columnName]
{
get
{
int i = 0;
foreach (MicroDataColumn column in Columns)
{
if (column.ColumnName == columnName)
{
break;
}
i++;
}
return _ItemArray[i];
}
set
{
int i = 0;
foreach (MicroDataColumn column in Columns)
{
if (column.ColumnName == columnName)
{
break;
}
i++;
}
_ItemArray[i] = value;
}
}
}
}