.NET ORM 操作ClickHouse数据库
ClickHouse应用场景
ClickHouse 是俄罗斯的 Yandex 于 2016 年开源的用于在线分析处理查询(OLAP :Online Analytical Processing)MPP架构的列式存储数据库(DBMS:Database Management System),能够使用 SQL 查询实时生成分析数据报告。ClickHouse的全称是Click Stream,Data WareHouse。
clickhouse可以做用户行为分析,流批一体
线性扩展和可靠性保障能够原生支持 shard + replication
clickhouse没有走hadoop生态,采用 Local attached storage 作为存储
连接字符串
Database=SqlSugarTest2;Username=default;Password=;Host=localhost; Port=8123;Compression=False;UseSession=False;Timeout=120;
Nuget 安装
SqlSugarCore
缺点
1、大小写要和数据库一样模一样,用的时候需要注意一下
2、不支持事务
3、只支持Linux
声名Db对象
SqlSugarClient db = new SqlSugarClient(new ConnectionConfig(){ ConnectionString = "连接符字串", DbType = DbType.ClickHouse IsAutoCloseConnection = true});
DEMO
可以去GITHUB下载完整DEMO
下载地址 https://github.com/donet5/SqlSugar
基础CDRUD
//联表查询 var list = db.Queryable<Order>() .LeftJoin<Custom> ((o, cus ) => o.CustomId == cus.Id)//多个条件用&& .LeftJoin<OrderDetail> ((o, cus, oritem) => o.Id == oritem.OrderId) .Where(o => o.Id == 1) .Select(o =>o) .ToList(); //查询 var list=db.Queryable<Order>().Where(it=>it.Id>0).ToList(); //插入 db.Insertable(insertObj).ExecuteCommand(); //更新 db.Updateable(UpdateObj).ExecuteCommand(); //删除 db.Deleteable(DeleteObj).ExecuteCommand();