.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
下载地址 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(); |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?