From 208e6932c93cb9ecbea24c8e588742420fe7ef50 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Tue, 19 Sep 2017 16:57:41 +0800 Subject: [PATCH] Add db.SqlQueryable --- Src/Asp.Net/SqlServerTest/Demos/1_Query.cs | 7 +++++++ .../Abstract/SqlBuilderProvider/SqlBuilderProvider.cs | 3 +++ Src/Asp.Net/SqlSugar/Interface/ISqlBuilder.cs | 1 + Src/Asp.Net/SqlSugar/SqlSugarClient.cs | 8 ++++++++ 4 files changed, 19 insertions(+) diff --git a/Src/Asp.Net/SqlServerTest/Demos/1_Query.cs b/Src/Asp.Net/SqlServerTest/Demos/1_Query.cs index 299c325bc..ae1fd3015 100644 --- a/Src/Asp.Net/SqlServerTest/Demos/1_Query.cs +++ b/Src/Asp.Net/SqlServerTest/Demos/1_Query.cs @@ -28,6 +28,13 @@ namespace OrmTest.Demo Simple(); Async(); Subqueryable(); + SqlQueryable(); + } + + private static void SqlQueryable() + { + var db = GetInstance(); + var list = db.SqlQueryable("select * from student").ToPageList(1, 2); } private static void Subqueryable() diff --git a/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/SqlBuilderProvider.cs b/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/SqlBuilderProvider.cs index e14ce5f9d..590843d36 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/SqlBuilderProvider.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/SqlBuilderProvider.cs @@ -75,6 +75,9 @@ namespace SqlSugar { return UtilMethods.GetPackTable(sql,shortName); } + public virtual string GetDefaultShortName() { + return "t"; + } public virtual void RepairReplicationParameters(ref string appendSql, SugarParameter[] parameters, int addIndex) { UtilMethods.RepairReplicationParameters(ref appendSql,parameters,addIndex); diff --git a/Src/Asp.Net/SqlSugar/Interface/ISqlBuilder.cs b/Src/Asp.Net/SqlSugar/Interface/ISqlBuilder.cs index c4467fd27..861b47861 100644 --- a/Src/Asp.Net/SqlSugar/Interface/ISqlBuilder.cs +++ b/Src/Asp.Net/SqlSugar/Interface/ISqlBuilder.cs @@ -27,6 +27,7 @@ namespace SqlSugar string GetTranslationColumnName(string propertyName); string GetNoTranslationColumnName(string name); string GetPackTable(string sql,string shortName); + string GetDefaultShortName(); void RepairReplicationParameters(ref string appendSql, SugarParameter[] parameters, int addIndex); } } diff --git a/Src/Asp.Net/SqlSugar/SqlSugarClient.cs b/Src/Asp.Net/SqlSugar/SqlSugarClient.cs index c48a368cf..b27a7ae84 100644 --- a/Src/Asp.Net/SqlSugar/SqlSugarClient.cs +++ b/Src/Asp.Net/SqlSugar/SqlSugarClient.cs @@ -337,6 +337,14 @@ namespace SqlSugar } #endregion + #region SqlQueryable + public ISugarQueryable SqlQueryable(string sql) where T : class, new() + { + var sqlBuilder = InstanceFactory.GetSqlbuilder(this.Context.CurrentConnectionConfig); + return this.Queryable().AS(sqlBuilder.GetPackTable(sql, sqlBuilder.GetDefaultShortName())); + } + #endregion + #region Insertable public virtual IInsertable Insertable(T[] insertObjs) where T : class, new() {