mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-06-20 04:48:16 +08:00
- 优化 支持动态操作 .IncludeByPropertyName 之后的 then.WhereDynamicFilter 操作;
This commit is contained in:
@ -561,6 +561,14 @@ namespace FreeSql.Internal.CommonProvider
|
||||
{
|
||||
var methodParameterTypes = node.Method.GetParameters().Select(a => a.ParameterType).ToArray();
|
||||
var method = _replaceExp.Type.GetMethod(node.Method.Name, methodParameterTypes);
|
||||
if (method == null && _replaceExp.Type.IsInterface)
|
||||
{
|
||||
foreach (var baseInterface in _replaceExp.Type.GetInterfaces())
|
||||
{
|
||||
method = baseInterface.GetMethod(node.Method.Name, methodParameterTypes);
|
||||
if (method != null) break;
|
||||
}
|
||||
}
|
||||
if (node.Object?.NodeType == ExpressionType.Parameter && node.Object == oldParameter)
|
||||
return Expression.Call(_replaceExp, method, node.Arguments);
|
||||
return Expression.Call(Visit(node.Object), method, node.Arguments);
|
||||
|
Reference in New Issue
Block a user