Update exp to sql( Select new {new{ new}})

This commit is contained in:
sunkaixuan
2023-07-17 15:08:43 +08:00
parent da44efc748
commit af7a28cf8c
4 changed files with 25 additions and 3 deletions

View File

@@ -565,7 +565,25 @@ namespace SqlSugar
//additem.Value = "";
result.Add(additem);
}
else
else if (memberAssignment.Expression is MemberInitExpression|| memberAssignment.Expression is NewExpression)
{
var dic = ExpressionTool.GetNewExpressionItemList(memberAssignment.Expression);
foreach (var kv in dic)
{
additem = new NewExpressionInfo();
//var leftInfo = keys[i];
additem.Type = nameof(NewExpression);
additem.RightName = kv.Key;
additem.ShortName = ExpressionTool.GetParameters(kv.Value).First().Name;
additem.RightName = kv.Key;
additem.LeftNameName = memberAssignment.Member.Name + "." + kv.Key;
additem.RightDbName = kv.Key;
//additem.Value = "";
result.Add(additem);
}
}
else
{
var value = baseResolve.GetNewExpressionValue(memberAssignment.Expression);
//var leftInfo = keys[i];

View File

@@ -104,7 +104,7 @@ namespace SqlSugar
this.Context.SqlTranslationLeft + asName + "." + newExpressionInfo.LeftNameName + this.Context.SqlTranslationRight
);
}
}
else
{
parameter.Context.Result.Append(this.Context.GetAsString(

View File

@@ -68,7 +68,7 @@ namespace SqlSugar
if (first.Contains("("))
{
first = first.Split('(').Last().Trim();
}
}
if (!result.ContainsKey(first))
{
result.Add(first, last);

View File

@@ -659,6 +659,10 @@ namespace SqlSugar
{
key = item.Name + "." + name;
info = readerValues.Select(it => it.Key).FirstOrDefault(it => it.ToLower() == key.ToLower());
if (info == null)
{
info = readerValues.Select(it => it.Key).FirstOrDefault(it => it.ToLower().EndsWith("."+ key.ToLower()));
}
}
var oldInfo = info;
if (mappingKeys != null && mappingKeys.ContainsKey(item.Name))