Add db.SqlQueryable

This commit is contained in:
sunkaixuan 2017-09-19 16:57:41 +08:00
parent 9d2a67dd7a
commit 208e6932c9
4 changed files with 19 additions and 0 deletions

View File

@ -28,6 +28,13 @@ namespace OrmTest.Demo
Simple();
Async();
Subqueryable();
SqlQueryable();
}
private static void SqlQueryable()
{
var db = GetInstance();
var list = db.SqlQueryable<Student>("select * from student").ToPageList(1, 2);
}
private static void Subqueryable()

View File

@ -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);

View File

@ -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);
}
}

View File

@ -337,6 +337,14 @@ namespace SqlSugar
}
#endregion
#region SqlQueryable
public ISugarQueryable<T> SqlQueryable<T>(string sql) where T : class, new()
{
var sqlBuilder = InstanceFactory.GetSqlbuilder(this.Context.CurrentConnectionConfig);
return this.Queryable<T>().AS(sqlBuilder.GetPackTable(sql, sqlBuilder.GetDefaultShortName()));
}
#endregion
#region Insertable
public virtual IInsertable<T> Insertable<T>(T[] insertObjs) where T : class, new()
{