.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 安裝

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

  

缺點

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();

  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章