diff --git a/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj b/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj
index 7e9f8d094..de2ab9a7b 100644
--- a/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj
+++ b/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj
@@ -102,6 +102,7 @@
+
diff --git a/Src/Asp.Net/SqlServerTest/UnitTest/Main.cs b/Src/Asp.Net/SqlServerTest/UnitTest/Main.cs
index 490885a0d..495e075d9 100644
--- a/Src/Asp.Net/SqlServerTest/UnitTest/Main.cs
+++ b/Src/Asp.Net/SqlServerTest/UnitTest/Main.cs
@@ -36,6 +36,7 @@ namespace OrmTest
UCustom03.Init();
UCustom04.Init();
UCustom05.Init();
+ UCustom06.Init();
SubQueryTest();
UConfig();
DeleteTest();
diff --git a/Src/Asp.Net/SqlServerTest/UnitTest/UCustom06.cs b/Src/Asp.Net/SqlServerTest/UnitTest/UCustom06.cs
new file mode 100644
index 000000000..c8dea0ba2
--- /dev/null
+++ b/Src/Asp.Net/SqlServerTest/UnitTest/UCustom06.cs
@@ -0,0 +1,46 @@
+using OrmTest.UnitTest.Models;
+using SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OrmTest
+{
+ public class UCustom06
+ {
+ public static void Init()
+ {
+ var db = NewUnitTest.Db;
+
+ db.CodeFirst.InitTables();
+ db.Insertable(new Unit06() { Company = "1", Name = "2", Work = "3" }).ExecuteCommand();
+ var list = db.Queryable().Select(a => new UnitPeople
+ {
+ Name = a.Name,
+ Job = new UnitJobClass { Company = a.Company, Work = a.Work }
+ }
+ ).ToList();
+
+
+ }
+ public class Unit06
+ {
+ public string Name { get; set; }
+ public string Company { get; set; }
+ public string Work { get; set; }
+ }
+ public class UnitPeople
+ {
+ public string Name { get; set; }
+ public UnitJobClass Job { get; set; }
+ }
+
+ public class UnitJobClass
+ {
+ public string Company { get; set; }
+ public string Work { get; set; }
+ }
+ }
+}
diff --git a/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve.cs b/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve.cs
index 3dbad127d..56b99e9ab 100644
--- a/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve.cs
+++ b/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve.cs
@@ -621,7 +621,14 @@ namespace SqlSugar
{
dbColumnName = mappingInfo.DbColumnName;
}
- asName = this.Context.GetTranslationText(shortName+"."+item.Type.Name + "." + propertyName);
+ if (shortName != null && shortName.ObjToString().Contains(this.Context.SqlTranslationLeft))
+ {
+ asName = this.Context.GetTranslationText(item.Type.Name + "." + propertyName);
+ }
+ else
+ {
+ asName = this.Context.GetTranslationText(shortName + "." + item.Type.Name + "." + propertyName);
+ }
if (Context.IsJoin)
{
this.Context.Result.Append(Context.GetAsString(asName, dbColumnName, shortName.ObjToString()));
diff --git a/Src/Asp.Net/SqlSugar/Infrastructure/ContextMethods.cs b/Src/Asp.Net/SqlSugar/Infrastructure/ContextMethods.cs
index 13ee8c679..17bbbe621 100644
--- a/Src/Asp.Net/SqlSugar/Infrastructure/ContextMethods.cs
+++ b/Src/Asp.Net/SqlSugar/Infrastructure/ContextMethods.cs
@@ -436,11 +436,16 @@ namespace SqlSugar
{
var key = typeName + "." + name;
var info = readerValues.Select(it => it.Key).FirstOrDefault(it => it.ToLower() == key.ToLower());
+ var oldInfo = info;
if (mappingKeys!=null&&mappingKeys.ContainsKey(item.Name))
{
key = mappingKeys[item.Name]+"."+typeName + "." + name;
info = readerValues.Select(it => it.Key).FirstOrDefault(it => it.ToLower() == key.ToLower());
}
+ if (info == null&&oldInfo!=null)
+ {
+ info = oldInfo;
+ }
if (info != null)
{
var addItem = readerValues[info];