From 03e843ad889bcb7dafe6246c4711c2d199a1f7a7 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Tue, 19 Apr 2022 14:12:01 +0800 Subject: [PATCH] Update core --- .../SqlSugar/Abstract/QueryableProvider/NavigatManager.cs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Src/Asp.NetCore2/SqlSugar/Abstract/QueryableProvider/NavigatManager.cs b/Src/Asp.NetCore2/SqlSugar/Abstract/QueryableProvider/NavigatManager.cs index a8d443afe..3300e200e 100644 --- a/Src/Asp.NetCore2/SqlSugar/Abstract/QueryableProvider/NavigatManager.cs +++ b/Src/Asp.NetCore2/SqlSugar/Abstract/QueryableProvider/NavigatManager.cs @@ -347,11 +347,14 @@ namespace SqlSugar else if (method.Method.Name == "Select") { var exp = method.Arguments[1]; + var newExp = (exp as LambdaExpression).Body; var types = exp.Type.GetGenericArguments(); if (types != null && types.Length > 0) { var type = types[0]; var entityInfo = this.Context.EntityMaintenance.GetEntityInfo(type); + this.Context.InitMappingInfo(type); + Check.ExceptionEasy(newExp.Type != entityInfo.Type, $" new {newExp.Type .Name}is error ,use Select(it=>new {entityInfo.Type.Name})",$"new {newExp.Type.Name}是错误的,请使用Select(it=>new {entityInfo.Type.Name})"); if (entityInfo.Columns.Count(x => x.Navigat != null) == 0) { result.SelectString = (" " + queryable.QueryBuilder.GetExpressionValue(exp, ResolveExpressType.SelectSingle).GetString()); @@ -401,6 +404,11 @@ namespace SqlSugar Check.Exception(isList == false, $"{_ListCallFunc.First()} need is ToList()", $"{_ListCallFunc.First()} 需要ToList"); result.OrderByString = String.Join(" , ", oredrBy); } + if (result.SelectString.HasValue()) + { + Check.Exception(isList == false, $"{_ListCallFunc.First()} need is ToList()", $"{_ListCallFunc.First()} 需要ToList"); + result.OrderByString = String.Join(" , ", oredrBy); + } return result; }