.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

image.png

下载地址 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();

  

posted @ 2022-08-17 00:08  阿妮亚  阅读(727)  评论(2编辑  收藏  举报