快速上手
安装依赖
::: tip
- 除了安装HiSql.dll 外还要根据自己用的数据库选一个对应的支持包如 HiSql.SqlServer.dll 安装这两个包才能使用与SqlServer交互。
- 如果一个项目中需要支持两种库那么可以选择安装两个数据库的支持包
:::
HiSql安装
Step 1 方式一 通过nuget 安装
输入 hisql 进行搜索选择最新的版本安装
注:仅支持.Net5及以上版本
Step 1 方式二 通过源码编译
git clone https://github.com/tansar/HiSql.git
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($"数据库连接:{connstr}");
return connstr;
},
OnLogSqlExecuting = (sql, param) =>
{
//sql执行前 日志记录 (异步)
//Console.WriteLine($"sql执行前记录{sql} time:{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss ffff")}");
},
OnLogSqlExecuted = (sql, param) =>
{
//sql执行后 日志记录 (异步)
//Console.WriteLine($"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($"执行SQL语句超过[{timer.ToString()}]毫秒...");
}
}
}
);
Step3 初始化HiSql
sqlclient.CodeFirst.InstallHisql();
以上代码只要执行一次执行完成后在当前连接的数据库在会产生以下表
1.Hi_TabModel #表结构信息主表
2.Hi_FieldModel #表结构信息明细表
3.Hi_Domain #数据域
4.Hi_DataElement #数据元素
在第一次查询表时HiSql都会将表结构信息冗余到表中,并进行缓存
关于这个HiSql起到什么作用请详见[HiSql系统表]
注:如果表结构有变化可手动清除Hi_TabModel,Hi_FieldModel的记录,清除后系统会自动将最新的表结构信息冗余进来
如果有使用HiSql表管理工具进行表结构修改的可以忽略操作
接下来可以开始您的工作了