美丽的神话 发表于 2022-9-16 17:17:36

.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
https://www.donet5.com/_theme/ueditor/utf8-net/net/upload/image/20220814/6379605295757642483533854.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();  

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: .NET ORM 操作ClickHouse数据库