diff --git a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryMethodInfo.cs b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryMethodInfo.cs
new file mode 100644
index 000000000..406cfe890
--- /dev/null
+++ b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryMethodInfo.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace SqlSugar
+{
+ public class QueryMethodInfo
+ {
+ public object QueryableObj { get; internal set; }
+ public SqlSugarProvider Context { get; internal set; }
+ }
+}
diff --git a/Src/Asp.Net/SqlSugar/Abstract/SugarProvider/SqlSugarProvider.cs b/Src/Asp.Net/SqlSugar/Abstract/SugarProvider/SqlSugarProvider.cs
index 47f1c1a03..1ff133957 100644
--- a/Src/Asp.Net/SqlSugar/Abstract/SugarProvider/SqlSugarProvider.cs
+++ b/Src/Asp.Net/SqlSugar/Abstract/SugarProvider/SqlSugarProvider.cs
@@ -82,6 +82,16 @@ namespace SqlSugar
#endregion
#region Queryable
+ public QueryMethodInfo QueryableByObject(Type entityType)
+ {
+ QueryMethodInfo result = new QueryMethodInfo();
+ var method=this.GetType().GetMyMethod("Queryable", 0);
+ var methodT=method.MakeGenericMethod(entityType);
+ var queryableObj=methodT.Invoke(this,new object[] {});
+ result.QueryableObj = queryableObj;
+ result.Context = this.Context;
+ return result;
+ }
///
/// Get datebase time
///
diff --git a/Src/Asp.Net/SqlSugar/Abstract/SugarProvider/SqlSugarScopeProvider.cs b/Src/Asp.Net/SqlSugar/Abstract/SugarProvider/SqlSugarScopeProvider.cs
index 3a006fbe6..e316e3f05 100644
--- a/Src/Asp.Net/SqlSugar/Abstract/SugarProvider/SqlSugarScopeProvider.cs
+++ b/Src/Asp.Net/SqlSugar/Abstract/SugarProvider/SqlSugarScopeProvider.cs
@@ -815,6 +815,10 @@ namespace SqlSugar
{
ScopedContext.Tracking(datas);
}
+ public QueryMethodInfo QueryableByObject(Type entityType)
+ {
+ return ScopedContext.QueryableByObject(entityType);
+ }
#endregion
}
}
\ No newline at end of file
diff --git a/Src/Asp.Net/SqlSugar/Interface/ISqlSugarClient.cs b/Src/Asp.Net/SqlSugar/Interface/ISqlSugarClient.cs
index a7128df6d..1ba7cbb1c 100644
--- a/Src/Asp.Net/SqlSugar/Interface/ISqlSugarClient.cs
+++ b/Src/Asp.Net/SqlSugar/Interface/ISqlSugarClient.cs
@@ -79,6 +79,7 @@ namespace SqlSugar
#endregion
#region Queryable
+ QueryMethodInfo QueryableByObject(Type entityType);
ISugarQueryable MasterQueryable();
ISugarQueryable SlaveQueryable();
ISugarQueryable SqlQueryable(string sql) where T : class, new();
diff --git a/Src/Asp.Net/SqlSugar/SqlSugar.csproj b/Src/Asp.Net/SqlSugar/SqlSugar.csproj
index de20cd075..db6a8cd70 100644
--- a/Src/Asp.Net/SqlSugar/SqlSugar.csproj
+++ b/Src/Asp.Net/SqlSugar/SqlSugar.csproj
@@ -138,6 +138,7 @@
+
diff --git a/Src/Asp.Net/SqlSugar/SqlSugarClient.cs b/Src/Asp.Net/SqlSugar/SqlSugarClient.cs
index 237259c36..2cacfbf0e 100644
--- a/Src/Asp.Net/SqlSugar/SqlSugarClient.cs
+++ b/Src/Asp.Net/SqlSugar/SqlSugarClient.cs
@@ -284,6 +284,10 @@ namespace SqlSugar
}
#endregion
+ public QueryMethodInfo QueryableByObject(Type entityType)
+ {
+ return this.Context.QueryableByObject(entityType);
+ }
public ISugarQueryable MasterQueryable()
{
return this.Context.MasterQueryable();
diff --git a/Src/Asp.Net/SqlSugar/SqlSugarScope.cs b/Src/Asp.Net/SqlSugar/SqlSugarScope.cs
index 1a6577810..a64e5ce8e 100644
--- a/Src/Asp.Net/SqlSugar/SqlSugarScope.cs
+++ b/Src/Asp.Net/SqlSugar/SqlSugarScope.cs
@@ -872,5 +872,9 @@ namespace SqlSugar
{
return ScopedContext.AsyncLock(timeOutSeconds);
}
+ public QueryMethodInfo QueryableByObject(Type entityType)
+ {
+ return ScopedContext.QueryableByObject(entityType);
+ }
}
}