From 874f50ae49da7ae7f51736075e3bdd66799eb71c Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sat, 21 May 2022 10:04:41 +0800 Subject: [PATCH] Update navicate query --- .../ResolveItems/MethodCallExpressionResolve.cs | 11 +++++++++-- .../ResolveItems/OneToManyNavgateExpression.cs | 5 ++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve.cs b/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve.cs index 820457e8e..cce1dc9e6 100644 --- a/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve.cs +++ b/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve.cs @@ -280,9 +280,16 @@ namespace SqlSugar base.AppendValue(parameter, isLeft, parameterName); } } - catch + catch(Exception ex) { - Check.Exception(true, string.Format(ErrorMessage.MethodError, express.Method.Name)); + if (ex is SqlSugarException) + { + Check.Exception(true, string.Format(ex.Message, express.Method.Name)); + } + else + { + Check.Exception(true, string.Format(ErrorMessage.MethodError, express.Method.Name)); + } } } diff --git a/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/OneToManyNavgateExpression.cs b/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/OneToManyNavgateExpression.cs index a8d7895cb..3cda36124 100644 --- a/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/OneToManyNavgateExpression.cs +++ b/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/OneToManyNavgateExpression.cs @@ -135,7 +135,10 @@ namespace SqlSugar } private MapperSql GetOneToManySql() { - var pk = this.EntityInfo.Columns.First(it => it.IsPrimarykey == true).DbColumnName; + var pkColumn = this.EntityInfo.Columns.FirstOrDefault(it => it.IsPrimarykey == true); + Check.ExceptionEasy(pkColumn == null, $"{this.EntityInfo.EntityName} need primary key ", + $"导航属性 {this.EntityInfo.EntityName}需要主键"); + var pk = pkColumn.DbColumnName; var name = this.ProPertyEntity.Columns.First(it => it.PropertyName == Navigat.Name).DbColumnName; //var selectName = this.ProPertyEntity.Columns.First(it => it.PropertyName == MemberName).DbColumnName; MapperSql mapper = new MapperSql();