- 修复 MapType 属性的表达式解析 数组.Contains 得到是映射之前的值 bug;

- 修复 MapType 属性 与 IncludeMany 变异功能未映射处理的 bug;
This commit is contained in:
28810
2019-11-17 17:14:00 +08:00
parent 330eb40285
commit 7c42c67797
24 changed files with 249 additions and 54 deletions

View File

@ -103,14 +103,18 @@ namespace FreeSql.Odbc.SqlServer
argIndex++;
}
if (objType == null) objType = callExp.Method.DeclaringType;
if (objType != null || objType.IsArray || typeof(IList).IsAssignableFrom(callExp.Method.DeclaringType))
if (objType != null || objType.IsArrayOrList())
{
tsc?.SetMapTypeTmp(null);
var args1 = getExp(callExp.Arguments[argIndex]);
var oldMapType = tsc?.SetMapTypeReturnOld(tsc?.mapTypeTmp);
var left = objExp == null ? null : getExp(objExp);
tsc.SetMapTypeReturnOld(oldMapType);
switch (callExp.Method.Name)
{
case "Contains":
//判断 in
return $"({getExp(callExp.Arguments[argIndex])}) in {left}";
return $"({args1}) in {left}";
}
}
break;