Update QueryableByObject

This commit is contained in:
sunkaixuan 2023-08-07 16:56:17 +08:00
parent 267e3954a7
commit 207e70b725
2 changed files with 9 additions and 1 deletions

View File

@ -105,7 +105,7 @@ namespace SqlSugar
}
public QueryMethodInfo Where(string sql, object parameters = null)
{
var method = QueryableObj.GetType().GetMyMethod("Where", 2, typeof(string), typeof(object));
var method = QueryableObj.GetType().GetMyMethodNoGen("Where", 2, typeof(string), typeof(object));
this.QueryableObj = method.Invoke(QueryableObj, new object[] { sql, parameters });
return this;
}

View File

@ -39,6 +39,14 @@ namespace SqlSugar
it.GetParameters().First().ParameterType == parameterType&&
it.GetParameters()[1].ParameterType == parameterType2) ;
}
public static MethodInfo GetMyMethodNoGen(this Type type, string name, int argCount, Type parameterType, Type parameterType2)
{
return type.GetMethods().Where(it => it.Name == name&&it?.GetGenericArguments()?.Count()==0).FirstOrDefault(it =>
it.GetParameters().Length == argCount &&
it.GetParameters().First().ParameterType == parameterType &&
it.GetParameters()[1].ParameterType == parameterType2);
}
public static MethodInfo GetMyMethod(this Type type, string name, int argCount, Type parameterType, Type parameterType2, Type parameterType3)
{
return type.GetMethods().Where(it => it.Name == name).FirstOrDefault(it =>