.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 作为存储

 

连接字符串

1
2
Database=SqlSugarTest2;Username=default;Password=;Host=localhost;
Port=8123;Compression=False;UseSession=False;Timeout=120;

  

Nuget 安装

SqlSugarCore

  

缺点

1、大小写要和数据库一样模一样,用的时候需要注意一下

2、不支持事务

3、只支持Linux

 

声名Db对象

1
2
3
4
SqlSugarClient db = new SqlSugarClient(new ConnectionConfig(){
          ConnectionString = "连接符字串",
          DbType = DbType.ClickHouse
          IsAutoCloseConnection = true});

  

  

 

DEMO

可以去GITHUB下载完整DEMO

image.png

下载地址 https://github.com/donet5/SqlSugar

 

基础CDRUD

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//联表查询
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 @   阿妮亚  阅读(1007)  评论(2编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示