分享下自己一直用的.NET SQLSERVER 封装类下自己写的DataHelper 操作类
2013-11-22 19:52
351 查看
一,概述:
这个DataHelper 类是基于我上个博客里发的SQLDataAccess 这个类做的一个简单的封装,为了结合自己的实体类和数据操作而产生的。
这里面用了 属性类,反射。还有 数据类型的方法扩展。(入门的同学可以看看。)
这里面有几个地方要注意下,一个是 GetEntity<T> 方法里的 ModelDataAttribute 对象,是我自己写的一个实体属性类。
还有 connString.IsNullOrEmpty() 这个是我封装的一个Stirng 的扩展类(StringExtensions)里的方法。这两个类在下面可以找到。
这个DataHelper类,必须基于 SQLDataAccess 和我自己定义的实体类的形式才可以实现。 这里大家只是借鉴下就好了.
yeqw.FrameWork; 我把 ModelDataAttribute [b]StringExtensions 封装到里面了。[/b]
二:代码:
DataHelper:(这里写的不是太好,其中的分页只是调用一个分页存储过程。这个Helper里最大的一个问题,就是不支持事务,一直没考虑好怎么把事务封进来)
View Code
三:总结:
DataHepler 和SQLDataAccess 这两个类都是比较简单的一个类库设计。做任何项目适合自己的才是最好的。用CodeSmith 这样的工具都能生成很好的只要的类库。
但我希望大家尤其是刚入门的童鞋要明白,基础才是一切的根本。知其然更要致其所以然。在编程的路上遇到不同的级别的项目,尤其现在都说的大数据时代。任何的类库
都是有自己的局限性的。只有因地制宜,根据实际需要做出自己最合理的选择才是王道。不仅要举一翻三,更要一通百通。类库是死的人是活的,不管是什么样的技术,明白
基础了,才是最重要的。(自己的一点感慨,瞎喷的。呵呵)
=================================================================
HI,如果童鞋们觉得本人此博文对你有用,请不要吝啬自己的鼠标,给此博文一个“推荐”吧。鼓励,鼓励。哈哈
本博文系博主原创,版权归博主所有,如需转载,请注明转载地址。
当前博客原始地址:yeqw1985.cnblogs.com
=================================================================
这个DataHelper 类是基于我上个博客里发的SQLDataAccess 这个类做的一个简单的封装,为了结合自己的实体类和数据操作而产生的。
这里面用了 属性类,反射。还有 数据类型的方法扩展。(入门的同学可以看看。)
这里面有几个地方要注意下,一个是 GetEntity<T> 方法里的 ModelDataAttribute 对象,是我自己写的一个实体属性类。
还有 connString.IsNullOrEmpty() 这个是我封装的一个Stirng 的扩展类(StringExtensions)里的方法。这两个类在下面可以找到。
这个DataHelper类,必须基于 SQLDataAccess 和我自己定义的实体类的形式才可以实现。 这里大家只是借鉴下就好了.
yeqw.FrameWork; 我把 ModelDataAttribute [b]StringExtensions 封装到里面了。[/b]
二:代码:
DataHelper:(这里写的不是太好,其中的分页只是调用一个分页存储过程。这个Helper里最大的一个问题,就是不支持事务,一直没考虑好怎么把事务封进来)
namespace yeqw.FrameWork { using System; using System.Data; using System.Runtime.CompilerServices; [AttributeUsage(AttributeTargets.Property, Inherited=true)] public class ModelDataAttribute : Attribute { public ModelDataAttribute(string sqlFieldName, SqlDbType sqlParameterType) : this(sqlFieldName, sqlParameterType, 0) { } public ModelDataAttribute(string sqlFieldName, SqlDbType sqlParameterType, int sqlparametersize) : this(sqlFieldName, sqlParameterType, sqlparametersize, ParameterDirection.Input) { } public ModelDataAttribute(string sqlFieldName, SqlDbType sqlParameterType, int sqlparametersize, ParameterDirection sqlParameterDirection) { this.SQLFieldName = sqlFieldName; this.SQLDbType = sqlParameterType; this.SQLSize = sqlparametersize; this.SQLParameterDirection = sqlParameterDirection; } public void Validate(object value) { if (!this.CanNull && string.IsNullOrEmpty(value.ToString())) { throw new ArgumentException(this.Message); } } public bool CanNull { get; set; } public string Message { get; set; } public SqlDbType SQLDbType { get; set; } public string SQLFieldName { get; set; } public ParameterDirection SQLParameterDirection { get; set; } public int SQLSize { get; set; } public enum EnumValidateType : byte { IsMaxLength = 2, IsNull = 0, IsNumber = 1 } } }
View Code
三:总结:
DataHepler 和SQLDataAccess 这两个类都是比较简单的一个类库设计。做任何项目适合自己的才是最好的。用CodeSmith 这样的工具都能生成很好的只要的类库。
但我希望大家尤其是刚入门的童鞋要明白,基础才是一切的根本。知其然更要致其所以然。在编程的路上遇到不同的级别的项目,尤其现在都说的大数据时代。任何的类库
都是有自己的局限性的。只有因地制宜,根据实际需要做出自己最合理的选择才是王道。不仅要举一翻三,更要一通百通。类库是死的人是活的,不管是什么样的技术,明白
基础了,才是最重要的。(自己的一点感慨,瞎喷的。呵呵)
=================================================================
HI,如果童鞋们觉得本人此博文对你有用,请不要吝啬自己的鼠标,给此博文一个“推荐”吧。鼓励,鼓励。哈哈
本博文系博主原创,版权归博主所有,如需转载,请注明转载地址。
当前博客原始地址:yeqw1985.cnblogs.com
=================================================================
相关文章推荐
- 自己封装的Access数据库的操作类(AccessHelper)
- 自己封装的ASP.NET的MSSQL的数据库操作类(MSSQLHelper)
- Android适配器之DataModifyHelper数据操作类的封装
- 自己封装的ASP.NET的MSSQL的数据库操作类(MSSQLHelper)
- 自己动手写ORM框架(二):AdoHelper支持多数据库操作的封装(2)
- 封装一个自己的php操作类
- 自己实现ajax封装示例分享
- C#进阶系列——一步一步封装自己的HtmlHelper组件:BootstrapHelper
- 一个ASP.NET的MYSQL的数据库操作类自己封装的
- JS组件系列——分享自己封装的Bootstrap树形组件:jqTree
- 自己封装的一个Solr Data Import Request Handler Scheduler
- 在.NET连接MySQL以及封装好的MySQLHelper.cs
- 轻松搞定Ajax(分享下自己封装ajax函数,其实Ajax使用很简单,难是难在你得到数据后来怎样去使用这些数据)
- 自己封装的HttpRequest,个人觉的比较HttpHelper好用
- (喷血分享)利用.NET生成数据库表的创建脚本,类似SqlServer编写表的CREATE语句
- 自己封装的ASP.NET的MYSQL的数据库操作类
- OracleHelper[.Net 连接Oracle数据库的封装类]
- 自己封装的微信分享类
- (喷血分享)利用.NET生成数据库表的创建脚本,类似SqlServer编写表的CREATE语句
- 自己封装的Android sqlite-helper.jar包使用方法