安装

github hisql 最新源码下载

也可以通过nuget安装

注意:HiSql仅支持.net5或以上环境

  1. 选择您需要支持的数据库对应的支持包进行安装 本例使用sqlserver进行演示,请安装1.0.1.3以上版本

  2. 连接数据库

  HiSqlClient sqlclient = new HiSqlClient(
new ConnectionConfig()
{
DbType = DBType.SqlServer,
DbServer = "local-HoneBI",
//ConnectionString = "server=192.168.1.90,8433;uid=sa;pwd=Hone@123;database=HoneBI",
ConnectionString = "server=(local);uid=sa;pwd=Hone@123;database=HiSql;",//; MultipleActiveResultSets = true;
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()}]毫秒...");
}
}
}
);
  1. 第一次使用时需要执行以下方法进行HiSql安装(只需要执行一次)
sqlclient.CodeFirst.InstallHisql();

4 .检查是否安装成功

数据库中出现以下四张表则安装成功

下面就可以进行表操作了

建一张测试表【H_Test】 测试一下 sql代码如下

USE [HiSql]
GO /****** Object: Table [dbo].[H_Test] Script Date: 2021/10/26 9:37:42 ******/
SET ANSI_NULLS ON
GO SET QUOTED_IDENTIFIER ON
GO CREATE TABLE [dbo].[H_Test](
[Hid] [int] NOT NULL,
[UserName] [nchar](50) NULL,
[UserAge] [int] NULL,
[ReName] [nvarchar](50) NULL,
CONSTRAINT [PK_H_Test] PRIMARY KEY CLUSTERED
(
[Hid] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO ALTER TABLE [dbo].[H_Test] ADD CONSTRAINT [DF_H_Test_UserAge] DEFAULT ((0)) FOR [UserAge]
GO

或可以通过实体类来创建表 ,如下实体

[HiTable(IsEdit = true, TabName = "H_Test", TabDescript = "测试表")]
public class H_Test: StandField
{
[HiColumn(FieldDesc = "编号", IsPrimary = true, IsBllKey = true, DBDefault = HiTypeDBDefault.EMPTY, SortNum = 1)]
public int Hid { get; set; } [HiColumn(FieldDesc = "用户名", FieldLen = 50, DBDefault = HiTypeDBDefault.EMPTY, SortNum = 2 )]
public string UserName { get; set; } [HiColumn(FieldDesc = "年龄", DBDefault = HiTypeDBDefault.EMPTY, SortNum = 3)]
public int UserAge { get; set; } [HiColumn(FieldDesc = "真实姓名", FieldLen = 50, DBDefault = HiTypeDBDefault.EMPTY, SortNum = 4)]
public string ReName { get; set; }
}

再执行以下代码

Tuple<HiTable, List<HiColumn>> tabomdel = sqlclient.Context.DMInitalize.BuildTabStru(typeof(DemoTable.H_Test));
int v=(int)sqlclient.Context.DBO.ExecCommand(sqlclient.Context.DMTab.BuildTabCreateSql(tabomdel.Item1, tabomdel.Item2, true));
  1. 通过HiSql ORM SDK 向表[H_Test] 插入数据
sqlclient .Insert("H_Test", new{Hid = 1, UserName = "tansar",UserAge = 100, ReName = "Tom"}).ExecCommand();
  1. 查询刚刚插入的数据
DataTable dt_result = sqlclient.Query("H_Test").Field("*").ToTable();

hisql 新一代无实体ORM使用第一步 hisql安装使用的更多相关文章

  1. HiSql 实现case语法操作 新一代无实体ORM框架

    HiSql 实现case语法操作 在SqlServer,Oralce,Hana,PostGreSql,MySql 这些数据都支持SQL case语法,平常在实现业务开发中也会常用到,那么HiSql对于 ...

  2. Java 学习第一步-JDK安装和Java环境变量配置

    Java学习第一步——JDK安装及Java环境变量配置 [原文]  2014-05-30 9:09  Java SE  阿超  9046 views Java作为当下很主流的编程语言,学习Java的朋 ...

  3. mac下zephir第一步,安装+hello zephir!

    第一步 安装autoconf re2c automake libtool等依赖,如果没有安装git的记得先安装git brew install autoconf brew install automa ...

  4. ios开发第一步--虚拟机安装MAC OS X

    暂时还没买Macbook,先用虚拟机练练手. 先说说准备工作,我是在win8下安装的,这个不是关键的,只要Vmware版本和MAC OS X版本确定就行了,win7下同样可以. 1.虚拟机Vmware ...

  5. Vue踩坑第一步,安装Vue最新版本

    学习vue第一步肯定是安装vue-cli,那么肯定想去搜下如何安装vue-cli呢? 网上搜到的结果大都是: npm i vue-cli -g 输入vue -V发现: 输入node -v发现: 自己明 ...

  6. JAVA开发第一步 - JDK安装与配置

    JDK的安装与环境变量配置是JAVA开发之路的第一步,很多新人在这一步上就卡了很久,浪费了很多时间,甚至有些人就轻易地“从入门到放弃”了.今天我们就来一步步教你如何打倒这第一只拦路虎. 1.JDK下载 ...

  7. 学习Java第一步:安装Intellij IDEA和JDK

    注:其实真正学习一门新语言的第一步并不是安装开发工具,我是C#转JAVA,有一点编程经验了,所以可以直接跳过前面几步,直接上IDE. 1.下载IntelliJ IDEA [官网] http://www ...

  8. 【手撸一个ORM】第一步、实体约定和描述

    一.约定 数据实体必须实现 IEntity 接口,该接口定义了一个int类型的Id属性,既每个实体必须有一个名称为Id的自增主键. 若数据表的主键列名称不是Id,可以通过 [MyKey("主 ...

  9. Altera SoC与Matlab的联合---第一步 软件安装与硬件测试

    参考设计:http://cn.mathworks.com/help/hdlcoder/examples/getting-started-with-hardware-software-codesign- ...

随机推荐

  1. SSM框架整合后使用pagehelper实现分页功能

    一.导入pagehelper-5.1.10.jar和jsqlparser-3.1.jar两个jar包 二.配置pagehelper 2.1 在mybatis配置文件中配置 <plugins> ...

  2. 【C++】最长回文子串/动态规划

    ACM #include <bits/stdc++.h> using namespace std; const int maxn = 1010; char S[maxn]; int dp[ ...

  3. 云服务器ECS部署和卸载RabbitMQ

    云服务器ECS部署RabbitMQ RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件,用于在分布式系统中存储转发消息,有良好的易用性.扩展性和高可用性.本文介绍如何通过ECS实例 ...

  4. numpy基础教程--二维数组的转置

    使用numpy库可以快速将一个二维数组进行转置,方法有三种 1.使用numpy包里面的transpose()可以快速将一个二维数组转置 2.使用.T属性快速转置 3.使用swapaxes(1, 0)方 ...

  5. Mit6.830 - simpledb - 总览

    总览 github 地址: https://github.com/CreatorsStack/CreatorDB 在开始 simpledb 旅途之前, 我们先从整体上来看看 SimpleDb 是一个 ...

  6. [BUUCTF]REVERSE——[WUSTCTF2020]Cr0ssfun

    [WUSTCTF2020]Cr0ssfun 附件 步骤: 例行检查,无壳儿,64位程序,直接ida载入,检索程序里的字符串,根据提示跳转 看一下check()函数 内嵌了几个检查的函数,简单粗暴,整理 ...

  7. python selenium 多账户自动登入163邮箱

    pycharm一些快捷键: ' ctrl ' +' / ' :注释 ' Tab ' :同时缩进 ' shift ' +' Tab ' :左移 一次缩进 本文webinfo.txt路径:C:\Pytho ...

  8. 资源分配单位(Project)

    <Project2016 企业项目管理实践>张会斌 董方好 编著 那些分配了资源的任务,其中的资源是有数量单位的,默认工时单位是100%,材料单位是1. 比如某吃货,为了完成吃米饭这一任务 ...

  9. iNeuOS工业互联网操作系统,发布3.6.4版本:云端安全控制和实时日志功能,附Chrome、Firefox和Edge浏览器测试性能对比

    目       录 1.      概述... 2 2.      平台演示... 2 3.      云端控制和实时日志设计和技术... 2 4.      实时日志测试... 2 1.   概述 ...

  10. 【RTOS】FreeRTOS中的任务堆栈溢出检测机制

    目录 前言 任务堆栈 堆栈溢出 任务堆栈溢出检测机制 API 两种堆栈溢出检测方式 堆栈溢出钩子函数 内核何时检测任务堆栈溢出 任务堆栈溢出检测存在的局限性 前言 注意:本笔记发布时可能忘记补充查看d ...