快速上手

安装依赖

hisql官方群

hisql官方QQ群

为了更好的服务于真正使用hisql的用户,进群的伙伴必须是在github或gitee 上star了hisql项目或进行过捐的伙伴的方能进群

提示

  • 除了安装HiSql.dll 外还要根据自己用的数据库选一个对应的支持包如 HiSql.SqlServer.dll 安装这两个包才能使用与SqlServer交互。
  • 如果一个项目中需要支持两种库那么可以选择安装两个数据库的支持包

HiSql安装

Step 1 方式一 通过nuget 安装

输入 hisql 进行搜索选择最新的版本安装 注:仅支持.Net5及以上版本 nuget安装

Step 1 方式二 通过源码编译

git clone https://github.com/tansar/HiSql.git
1

Step2 创建数据库连接

  HiSqlClient sqlclient = new HiSqlClient(
    new ConnectionConfig()
    {
        DbType = DBType.SqlServer,
        DbServer = "local-HoneBI",
        ConnectionString = "server=(local);uid=sa;pwd=Hone@123;database=HiSql;",//; 
        //User="tansar",//用于业务端传入的登陆帐号
        Schema = "dbo",
            IsEncrypt = true,
            IsAutoClose = false,
            SqlExecTimeOut = 60000,

            AppEvents = new AopEvent()
            {
                OnDbDecryptEvent = (connstr) =>
                {
                //解密连接字段
                //Console.WriteLine(quot;数据库连接:{connstr}");

                return connstr;
                },
                OnLogSqlExecuting = (sql, param) =>
                {
                //sql执行前 日志记录 (异步)

                //Console.WriteLine(quot;sql执行前记录{sql} time:{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss ffff")}");
            },
                OnLogSqlExecuted = (sql, param) =>
                {
                //sql执行后 日志记录 (异步)
                //Console.WriteLine(quot;sql执行后记录{sql} time:{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss ffff")}");
            },
                OnSqlError = (sqlEx) =>
                {
                //sql执行错误后 日志记录 (异步)
                  Console.WriteLine(sqlEx.Message.ToString());
                },
                OnTimeOut = (int timer) =>
                {
                //Console.WriteLine(quot;执行SQL语句超过[{timer.ToString()}]毫秒...");
            }
            }
        }
    );

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45

Step3 初始化HiSql

  sqlclient.CodeFirst.InstallHisql();
1

以上代码只要执行一次执行完成后在当前连接的数据库在会产生以下表,如果识删除以下四张表也只要重新执行一下初始化即可

1.Hi_TabModel  #表结构信息主表
2.Hi_FieldModel #表结构信息明细表
3.Hi_Domain #数据域
4.Hi_DataElement  #数据元素
1
2
3
4

在第一次查询表时HiSql都会将表结构信息冗余到表中,并进行缓存 流程如下 表结构缓存流程图

注:当物理表结构有变化时只要清除缓存或重启应用即可以获取以物理表为准的结构信息

HiSql所有高级功能如进行数据校验都是依赖于该表结构的配置 关于Hi_FieldModel的配置请查看详细介绍

接下来可以用HiSql开始您的工作了