From 212dfbbaed46dba4ceba12945e83ab7158917f0a Mon Sep 17 00:00:00 2001 From: Zero look <33046233+wch1618@users.noreply.github.com> Date: Thu, 19 Aug 2021 11:39:00 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=8E=9F=E6=84=8F=E5=8F=AF=E8=83=BD?= =?UTF-8?q?=E6=98=AF=E4=BD=BF=E7=94=A8IsGenericTypeDefinition=E5=8D=B4?= =?UTF-8?q?=E7=94=A8=E4=BA=86IsGenericType?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FreeSql/FreeSqlBuilder.cs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/FreeSql/FreeSqlBuilder.cs b/FreeSql/FreeSqlBuilder.cs index 2a15d347..6c8be1d6 100644 --- a/FreeSql/FreeSqlBuilder.cs +++ b/FreeSql/FreeSqlBuilder.cs @@ -171,10 +171,14 @@ namespace FreeSql if (string.IsNullOrEmpty(_masterConnectionString) && _connectionFactory == null) throw new Exception("参数 masterConnectionString 不可为空,请检查 UseConnectionString"); IFreeSql ret = null; var type = _providerType; - if (type?.IsGenericType == true) type = type.MakeGenericType(typeof(TMark)); - if (type == null) + if (type != null) { - Action throwNotFind = (dll, providerType) => throw new Exception($"缺少 FreeSql 数据库实现包:{dll},可前往 nuget 下载;如果存在 {dll} 依然报错(原因是环境问题导致反射不到类型),请在 UseConnectionString/UseConnectionFactory 第三个参数手工传入 typeof({providerType})"); + if (type.IsGenericTypeDefinition) + type = type.MakeGenericType(typeof(TMark)); + } + else + { + Action throwNotFind = (dll, providerType) => throw new Exception($"缺少 FreeSql 数据库实现包:{dll},可前往 nuget 下载;如果存在 {dll} 依然报错(原因是环境问题导致反射不到类型),请在 UseConnectionString/UseConnectionFactory 第三个参数手工传入 typeof({providerType})"); switch (_dataType) { case DataType.MySql: From 74149c51dd27ec845ce9aa0afa37a83f46a5bf9a Mon Sep 17 00:00:00 2001 From: Zero look <33046233+wch1618@users.noreply.github.com> Date: Thu, 19 Aug 2021 11:43:06 +0800 Subject: [PATCH 2/3] --- FreeSql/FreeSqlBuilder.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/FreeSql/FreeSqlBuilder.cs b/FreeSql/FreeSqlBuilder.cs index 6c8be1d6..892ab719 100644 --- a/FreeSql/FreeSqlBuilder.cs +++ b/FreeSql/FreeSqlBuilder.cs @@ -173,12 +173,12 @@ namespace FreeSql var type = _providerType; if (type != null) { - if (type.IsGenericTypeDefinition) - type = type.MakeGenericType(typeof(TMark)); - } - else + if (type.IsGenericTypeDefinition) + type = type.MakeGenericType(typeof(TMark)); + } + else { - Action throwNotFind = (dll, providerType) => throw new Exception($"缺少 FreeSql 数据库实现包:{dll},可前往 nuget 下载;如果存在 {dll} 依然报错(原因是环境问题导致反射不到类型),请在 UseConnectionString/UseConnectionFactory 第三个参数手工传入 typeof({providerType})"); + Action throwNotFind = (dll, providerType) => throw new Exception($"缺少 FreeSql 数据库实现包:{dll},可前往 nuget 下载;如果存在 {dll} 依然报错(原因是环境问题导致反射不到类型),请在 UseConnectionString/UseConnectionFactory 第三个参数手工传入 typeof({providerType})"); switch (_dataType) { case DataType.MySql: From 35a332c126f404030799cbc157dfcf00872897d3 Mon Sep 17 00:00:00 2001 From: Zero look <33046233+wch1618@users.noreply.github.com> Date: Thu, 19 Aug 2021 11:45:05 +0800 Subject: [PATCH 3/3] --- FreeSql/FreeSqlBuilder.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FreeSql/FreeSqlBuilder.cs b/FreeSql/FreeSqlBuilder.cs index 892ab719..344e2a2c 100644 --- a/FreeSql/FreeSqlBuilder.cs +++ b/FreeSql/FreeSqlBuilder.cs @@ -177,7 +177,7 @@ namespace FreeSql type = type.MakeGenericType(typeof(TMark)); } else - { + { Action throwNotFind = (dll, providerType) => throw new Exception($"缺少 FreeSql 数据库实现包:{dll},可前往 nuget 下载;如果存在 {dll} 依然报错(原因是环境问题导致反射不到类型),请在 UseConnectionString/UseConnectionFactory 第三个参数手工传入 typeof({providerType})"); switch (_dataType) {