少有人走的路

勇哥的工业自动化技术网站

[netMarketing类库] EntityHelper类和SQLServerClient类,Sql Server数据库表实体类操作的类

命名空间:netMarketing.database

功能:EntityHelper类和SQLServerClient类,数据库表实体类操作的类

版本要求:netMarketing1.3.1

功能详细说明:
这个类用于SQL Server数据表的操作。它通过表对应的实体类来操作表。

勇哥谈谈实体类操作表的方式是怎么样的?有什么好处?

下图中是数据库中的表。

image.png

下图是实体类生成工具,生成的类“柔性撕膜机”,它是一个实体类。

image.png

使用下面的代码,则返回结果res中是一个List<柔性撕膜机>的查询结果。

 SQLServerClient client = new SQLServerClient();
 var res= client.readTable<柔性撕膜机>("select * from dbo.柔性撕膜机");

实际上,client.readTable的实现是下面代码所示:

它使用了类EntityHelper的方法GetEntityListByDT<T>,它是一个范型,你可以传入需要的实体类。

  public List<T> readTable<T>(string sql)
        {
            cmd.CommandText = sql;
            set.Tables.Clear();
            myDataAdapter.Fill(set);
            if (set.Tables[0].Rows.Count > 0)
            {
                var row = set.Tables[0];
                var res = EntityHelper.GetEntityListByDT<T>(row, null);
                return res;
            }
            return null;
        }


常用函数列表:

//类SQLServerClient的成员

//构造,conn为传入的数据库连接字符串
public SQLServerClient(string conn)
//读数据表,返回数据表对应的实体类结果
public List<T> readTable<T>(string sql)
/// 连接数据库
public bool ConnectLib()
/// 关闭数据库
public bool CloseLib()


//类EntityHelper的成员

/// 判断DataSet默认表是否为空:true:不为空 false:为空。
public static bool CheckDataSet(DataSet ds)
/// 判断DataSet指定索引表是否为空:true:不为空 false:为空。
public static bool CheckDataSet(DataSet ds, int tableIndex)
/// 根据数据表生成相应的实体对象列表
public static List<T> GetEntityListByDT<T>(DataTable srcDT, Hashtable relation)
///  将SqlDataReader转换成数据实体 
public static T GetEntityListByDT<T>(SqlDataReader dr)
///  将数据行转换成数据实体
public static T GetEntityListByDT<T>(DataSet ds)
///  将数据行转换成数据实体
public static T GetEntityListByDT<T>(DataRow row, Hashtable relation)
///  将多数据行转换成数据实体列表
public static List<T> GetEntityListByDT<T>(DataRow[] rows, Hashtable relation)
/// 为对象的属性赋值
private static void SetPropertyValue(PropertyInfo prop, object destObj, object value)
/// 用于类型数据的赋值
private static object ChangeType(Type type, object value)


有了EntityHelper类的辅助,可以极大的方便操作数据库的表。是一个十分有用常类。


--------------------- 

作者:hackpig
来源:
www.skcircle.com
版权声明:本文为博主原创文章,转载请附上博文链接!

返回类库功能说明目录


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2025年12月    »
1234567
891011121314
15161718192021
22232425262728
293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接

Powered By Z-BlogPHP 1.7.3

Copyright www.skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864