mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-11-26 02:09:37 +08:00
Performance optimization
This commit is contained in:
@@ -441,12 +441,12 @@ namespace SqlSugar
|
||||
return string.Format(temp, sql.ToString(), (pageIndex - 1) * pageSize + 1, pageIndex * pageSize);
|
||||
}
|
||||
|
||||
public virtual string GetSelectByItems(List<KeyValuePair<string, object>> items)
|
||||
public virtual string GetSelectByItems(List<KeyValuePair<string, JoinMapper>> items)
|
||||
{
|
||||
var array = items.Select(it => {
|
||||
dynamic dynamicObj = this.Context.Utilities.DeserializeObject<dynamic>(this.Context.Utilities.SerializeObject(it.Value));
|
||||
var dbName = Builder.GetTranslationColumnName((string)(dynamicObj.dbName));
|
||||
var asName = Builder.GetTranslationColumnName((string)(dynamicObj.asName));
|
||||
JoinMapper dynamicObj = it.Value;
|
||||
var dbName = Builder.GetTranslationColumnName(dynamicObj.DbName);
|
||||
var asName = Builder.GetTranslationColumnName(dynamicObj.AsName);
|
||||
return string.Format("{0}.{1} AS {2}", it.Key, dbName, asName);
|
||||
});
|
||||
return string.Join(",", array);
|
||||
|
||||
@@ -6,9 +6,9 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace SqlSugar
|
||||
{
|
||||
internal class JoinMapper
|
||||
public class JoinMapper
|
||||
{
|
||||
public string asName { get; set; }
|
||||
public string dbName { get; set; }
|
||||
public string AsName { get; set; }
|
||||
public string DbName { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ namespace SqlSugar
|
||||
string result = string.Empty;
|
||||
var veiwModel = _context.EntityMaintenance.GetEntityInfo<TResult>();
|
||||
var exp = (queryBuilder.JoinExpression as LambdaExpression);
|
||||
List<KeyValuePair<string, object>> selectItems = new List<KeyValuePair<string, object>>();
|
||||
List<KeyValuePair<string, JoinMapper>> selectItems = new List<KeyValuePair<string, JoinMapper>>();
|
||||
var exParsmeters = exp.Parameters.Select(it => new { shortName = it.Name, type = it.Type }).ToList();
|
||||
foreach (var viewColumns in veiwModel.Columns)
|
||||
{
|
||||
@@ -54,10 +54,10 @@ namespace SqlSugar
|
||||
{
|
||||
JoinMapper joinMapper = new JoinMapper()
|
||||
{
|
||||
asName=viewColumns.PropertyName,
|
||||
dbName=columnInfo.it.DbColumnName
|
||||
AsName=viewColumns.PropertyName,
|
||||
DbName=columnInfo.it.DbColumnName
|
||||
};
|
||||
selectItems.Add(new KeyValuePair<string, object>(expPars.shortName,joinMapper));
|
||||
selectItems.Add(new KeyValuePair<string, JoinMapper>(expPars.shortName,joinMapper));
|
||||
isbreak = true;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user