CYQ.Data 轻量数据访问层(三) 构造数据单元(下)
数据 访问 Data 构造 轻量 单元 CYQ
2023-09-11 14:20:55 时间
继上一节,回头看这张图片:
回顾上节的话题,怎么设计这样一个数据单元类?才不会有重复的单元表头,又能合理解释出数据与表头的关系?
经过长久的深思后。。一个关键的字出来了"ref",引用,是的,用的这就个,如果每个单元格,都包括值和单元表头,而单元表头,都引用同一个的时候,就刚好满足了需求。
于是,我们开始写出这样的类:
先构造出一个存放值的类:
/// summary/// 只包函被填充的数据状态和值
/// /summary
public class MDataCellValue
{
/// summary
/// //值是否为空
/// /summary
internal bool _IsNull;
/// summary
/// 值是否被改变了
/// /summary
internal bool _IsChange;
/// summary
/// 值是多少
/// /summary
internal object _Value;
public MDataCellValue()
{
_IsNull = true;
_IsChange = false;
_Value = null;
}
}
接着,我们构造存放表头:
我们可以参考数据库,也可以参考DataCell中的数据结构,构造出以下的类:
/// summary/// 只包函数据库字段的属性
/// /summary
public class MDataCellStruct
{
internal bool _IsCanNull;
internal bool _IsReadOnly;
internal string _ColumnName;
internal System.Data.SqlDbType _SqlType;
internal int _MaxSize;
internal string _Operator = "=";
internal ParameterDirection _ParaDirection;
#region 构造函数
public MDataCellStruct(string ColumnName, System.Data.SqlDbType SqlType, bool IsReadOnly, bool IsCanNull, int MaxSize, ParameterDirection paraDirection)
{
_ColumnName = ColumnName;
_SqlType = SqlType;
_IsReadOnly = IsReadOnly;
_IsCanNull = IsCanNull;
_MaxSize = MaxSize;
_ParaDirection = paraDirection;
}
#endregion
#region 属性
/// summary
/// 数据字段列名称
/// /summary
public string ColumnName
{
get
{
return this._ColumnName;
}
}
/// summary
/// 数据类型
/// /summary
public System.Data.SqlDbType SqlType
{
get
{
return this._SqlType;
}
}
/// summary
/// 数据字段列是否为只读
/// /summary
public bool IsReadOnly
{
get
{
return this._IsReadOnly;
}
}
/// summary
/// 数据字段列长度大小
/// /summary
public int MaxSize
{
get
{
return this._MaxSize;
}
}
/// summary
/// 数据字段列值是否能为空
/// /summary
public bool IsCanNull
{
get
{
return this._IsCanNull;
}
}
/// summary
/// 存储过程时用的参数
/// /summary
public ParameterDirection ParaDirection
{
get
{
return this._ParaDirection;
}
set
{
_ParaDirection = (ParameterDirection)value;
}
}
public string Operator
{
get
{
return _Operator;
}
set
{
_Operator = value;
}
}
#endregion
}
1.NetDh框架之数据库操作层--Dapper简单封装,可支持多库实例、多种数据库类型等(附源码和示例代码) 1.NetDh框架开始的需求场景 需求场景: 1.之前公司有不同.net项目组,有的项目是用SqlServer做数据库,有的项目是用Oracle,后面也有可能会用到Mysql等,而且要考虑后续扩展成主从库、多库的需求。
相关文章
- TCGA肿瘤基因数据的访问(二)
- Asp.Net Core工作单元UnitOfWork数据访问模式
- mvc.net分页查询案例——DLL数据访问层(HouseDLL.cs)
- mvc.net分页查询案例——DLL数据访问层(HouseDLL.cs)
- [EnterpriseLibrary]为什么拒绝ASPNET对性能数据进行访问
- 05-访问超时设置 | 01.数据抓取 | Python
- 大数据可视化必须避免的三种常见错误
- Android开发学习---android下的数据持久化,保存数据到rom文件,android_data目录下文件访问的权限控制
- 【设计模式】数据访问对象模式
- CYQ.Data 轻量数据访问层(六) 构造数据表
- 大数据基础之Kerberos(2)hive impala hdfs访问
- .net通过url访问服务器获取服务器返回数据
- E-MapReduce的Presto组件默认支持访问oss数据
- AE开发技术文档--8种数据访问方法
- 86. 动手开发一个最简单的 SAP UI5 本地 Mock 数据服务器
- SAP Spartacus里使用Observable访问Component数据
- 如何访问SAP Spartacus里的config数据
- 从手机App通过WebSocket向浏览器推送数据
- Python数据分析入门:数据读取与存储
- 5个必知必会的 Python 数据合并技巧
- Seurat的各种数据成员访问
- python 私有和保护成员变量如何实现?—— "单下划线 " 开始的成员变量叫做保护变量,意思是只有类实例和子类实例能访问到这些变量;" 双下划线 " 开始的是私有成员,意思是只有类对象自己能访问,连子类对象也不能访问到这个数据
- spring-boot-starter-jdbc与数据访问
- Docker 安装 Grafana 数据持久化