添加ClickHouse数据库支持

This commit is contained in:
chenbo
2021-11-25 17:40:00 +08:00
parent e6f05aa24e
commit d085acc4e9
29 changed files with 2631 additions and 12 deletions

View File

@@ -59,6 +59,10 @@ namespace FreeSql
providerType = Type.GetType("FreeSql.Firebird.FirebirdProvider`1,FreeSql.Provider.Firebird")?.MakeGenericType(connType);
if (providerType == null) throw new Exception("缺少 FreeSql 数据库实现包FreeSql.Provider.Firebird.dll可前往 nuget 下载");
break;
case "ClickHouseConnection":
providerType = Type.GetType("FreeSql.ClickHouse.ClickHouseProvider`1,FreeSql.Provider.ClickHouse")?.MakeGenericType(connType);
if (providerType == null) throw new Exception("缺少 FreeSql 数据库实现包FreeSql.Provider.ClickHouse.dll可前往 nuget 下载");
break;
default:
throw new Exception("未实现");
}

View File

@@ -495,6 +495,7 @@ JOIN {select._commonUtils.QuoteSqlName(tb.DbName)} a ON cte_tbc.cte_id = a.{sele
case DataType.SqlServer:
case DataType.OdbcSqlServer:
case DataType.Firebird:
case DataType.ClickHouse:
sql1ctePath = select._commonExpression.ExpressionWhereLambda(select._tables, Expression.Call(typeof(Convert).GetMethod("ToString", new Type[] { typeof(string) }), pathSelector?.Body), null, null, null);
break;
default:
@@ -609,6 +610,7 @@ SELECT ");
{
case DataType.MySql:
case DataType.OdbcMySql:
case DataType.ClickHouse:
return that.OrderBy("rand()");
case DataType.SqlServer:
case DataType.OdbcSqlServer: