From f4422d3a814e532dffba3d81415befa070d57586 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sun, 12 Jun 2022 16:21:42 +0800 Subject: [PATCH] Update .net core project --- .../SqlSugar/ExpressionsToSql/Common/ErrorMessage.cs | 2 +- .../ResolveItems/OneToManyNavgateExpression.cs | 10 +++++++++- .../ResolveItems/OneToOneNavgateExpression.cs | 7 +++++++ .../SqlSugar/Realization/MySql/MySqlProvider.cs | 10 +++++++++- 4 files changed, 26 insertions(+), 3 deletions(-) diff --git a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/Common/ErrorMessage.cs b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/Common/ErrorMessage.cs index ff903366e..77b645374 100644 --- a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/Common/ErrorMessage.cs +++ b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/Common/ErrorMessage.cs @@ -34,7 +34,7 @@ namespace SqlSugar { get { - return ErrorMessage.GetThrowMessage("Connection open error . {0}", " 连接数据库过程中发生错误,检查服务器是否正常连接字符串是否正确,实在找不到原因请先Google错误信息:{0}."); + return ErrorMessage.GetThrowMessage("Connection open error . {0}", " 连接数据库过程中发生错误,检查服务器是否正常连接字符串是否正确,错误信息:{0}."); } } public static string ExpressionCheck diff --git a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/OneToManyNavgateExpression.cs b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/OneToManyNavgateExpression.cs index 87b08976f..4297e45e0 100644 --- a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/OneToManyNavgateExpression.cs +++ b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/OneToManyNavgateExpression.cs @@ -117,7 +117,15 @@ namespace SqlSugar { return GetOneToManySql(); } - else + else if (Navigat.NavigatType == NavigateType.Dynamic) + { + Check.ExceptionEasy( + true, + " NavigateType.Dynamic no support expression . " + this.ProPertyEntity.Type.Name, + " NavigateType.Dynamic 自定义导航对象不支持在Where(x=>x.自定义.Id==1)等方法中使用" + this.ProPertyEntity.Type.Name); + return null; + } + else { return GetManyToManySql(); } diff --git a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/OneToOneNavgateExpression.cs b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/OneToOneNavgateExpression.cs index 1ebaef314..cae398077 100644 --- a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/OneToOneNavgateExpression.cs +++ b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/OneToOneNavgateExpression.cs @@ -70,6 +70,13 @@ namespace SqlSugar { Check.ExceptionEasy(true, " expression error ", "导航查询出错,比如.Count要改成 .Count()"); } + else if (Navigat.NavigatType == NavigateType.Dynamic) + { + Check.ExceptionEasy( + true, + " NavigateType.Dynamic no support expression . "+ this.ProPertyEntity.Type.Name, + " NavigateType.Dynamic 自定义导航对象不支持在Where(x=>x.自定义.Id==1)等方法中使用"+ this.ProPertyEntity.Type.Name); + } var pk = this.ProPertyEntity.Columns.First(it => it.IsPrimarykey == true).DbColumnName; var name = this.EntityInfo.Columns.First(it => it.PropertyName == Navigat.Name).DbColumnName; var selectName = this.ProPertyEntity.Columns.First(it => it.PropertyName ==MemberName).DbColumnName; diff --git a/Src/Asp.NetCore2/SqlSugar/Realization/MySql/MySqlProvider.cs b/Src/Asp.NetCore2/SqlSugar/Realization/MySql/MySqlProvider.cs index da41e6930..6e60329e4 100644 --- a/Src/Asp.NetCore2/SqlSugar/Realization/MySql/MySqlProvider.cs +++ b/Src/Asp.NetCore2/SqlSugar/Realization/MySql/MySqlProvider.cs @@ -20,6 +20,7 @@ namespace SqlSugar try { var mySqlConnectionString = base.Context.CurrentConnectionConfig.ConnectionString; + Check.ExceptionEasy(String.IsNullOrEmpty(mySqlConnectionString), "ConnectionString is not null", "连接字符串ConnectionString不能为Null"); if (!mySqlConnectionString.ToLower().Contains("charset")&& !mySqlConnectionString.ToLower().Contains("character")) { mySqlConnectionString = mySqlConnectionString.Trim().TrimEnd(';') + ";charset=utf8;"; @@ -28,7 +29,14 @@ namespace SqlSugar } catch (Exception ex) { - Check.Exception(true, ErrorMessage.ConnnectionOpen, ex.Message); + if (ex is SqlSugarException) + { + throw ex; + } + else + { + Check.Exception(true, ErrorMessage.ConnnectionOpen, ex.Message); + } } } return base._DbConnection;