performance optimization

This commit is contained in:
sunkaixuan
2017-06-16 18:26:40 +08:00
parent e71d2e5efa
commit f1d8a59d4e

View File

@@ -13,26 +13,47 @@ namespace SqlSugar
#region Queryable #region Queryable
public static ISugarQueryable<T> GetQueryable<T>(ConnectionConfig currentConnectionConfig) public static ISugarQueryable<T> GetQueryable<T>(ConnectionConfig currentConnectionConfig)
{
if (currentConnectionConfig.DbType == DbType.SqlServer)
{
return new SqlServerQueryable<T>();
}
else
{ {
string className = "Queryable"; string className = "Queryable";
className = GetClassName(currentConnectionConfig.DbType, className); className = GetClassName(currentConnectionConfig.DbType, className);
ISugarQueryable<T> result = CreateInstance<T, ISugarQueryable<T>>(className); ISugarQueryable<T> result = CreateInstance<T, ISugarQueryable<T>>(className);
return result; return result;
} }
}
public static ISugarQueryable<T, T2> GetQueryable<T, T2>(ConnectionConfig currentConnectionConfig) public static ISugarQueryable<T, T2> GetQueryable<T, T2>(ConnectionConfig currentConnectionConfig)
{
if (currentConnectionConfig.DbType == DbType.SqlServer)
{
return new SqlServerQueryable<T, T2>();
}
else
{ {
string className = "Queryable"; string className = "Queryable";
className = GetClassName(currentConnectionConfig.DbType, className); className = GetClassName(currentConnectionConfig.DbType, className);
ISugarQueryable<T, T2> result = CreateInstance<T, T2, ISugarQueryable<T, T2>>(className); ISugarQueryable<T, T2> result = CreateInstance<T, T2, ISugarQueryable<T, T2>>(className);
return result; return result;
} }
}
public static ISugarQueryable<T, T2, T3> GetQueryable<T, T2, T3>(ConnectionConfig currentConnectionConfig) public static ISugarQueryable<T, T2, T3> GetQueryable<T, T2, T3>(ConnectionConfig currentConnectionConfig)
{
if (currentConnectionConfig.DbType == DbType.SqlServer)
{
return new SqlServerQueryable<T, T2, T3>();
}
else
{ {
string className = "Queryable"; string className = "Queryable";
className = GetClassName(currentConnectionConfig.DbType, className); className = GetClassName(currentConnectionConfig.DbType, className);
ISugarQueryable<T, T2, T3> result = CreateInstance<T, T2, T3, ISugarQueryable<T, T2, T3>>(className); ISugarQueryable<T, T2, T3> result = CreateInstance<T, T2, T3, ISugarQueryable<T, T2, T3>>(className);
return result; return result;
} }
}
public static ISugarQueryable<T, T2, T3, T4> GetQueryable<T, T2, T3, T4>(ConnectionConfig currentConnectionConfig) public static ISugarQueryable<T, T2, T3, T4> GetQueryable<T, T2, T3, T4>(ConnectionConfig currentConnectionConfig)
{ {
string className = "Queryable"; string className = "Queryable";
@@ -71,10 +92,17 @@ namespace SqlSugar
#endregion #endregion
public static QueryBuilder GetQueryBuilder(ConnectionConfig currentConnectionConfig) public static QueryBuilder GetQueryBuilder(ConnectionConfig currentConnectionConfig)
{
if (currentConnectionConfig.DbType == DbType.SqlServer)
{
return new SqlServerQueryBuilder();
}
else
{ {
QueryBuilder result = CreateInstance<QueryBuilder>(GetClassName(currentConnectionConfig.DbType, "QueryBuilder")); QueryBuilder result = CreateInstance<QueryBuilder>(GetClassName(currentConnectionConfig.DbType, "QueryBuilder"));
return result; return result;
} }
}
public static InsertBuilder GetInsertBuilder(ConnectionConfig currentConnectionConfig) public static InsertBuilder GetInsertBuilder(ConnectionConfig currentConnectionConfig)
{ {
InsertBuilder result = CreateInstance<InsertBuilder>(GetClassName(currentConnectionConfig.DbType, "InsertBuilder")); InsertBuilder result = CreateInstance<InsertBuilder>(GetClassName(currentConnectionConfig.DbType, "InsertBuilder"));
@@ -92,10 +120,17 @@ namespace SqlSugar
} }
public static ILambdaExpressions GetLambdaExpressions(ConnectionConfig currentConnectionConfig) public static ILambdaExpressions GetLambdaExpressions(ConnectionConfig currentConnectionConfig)
{
if (currentConnectionConfig.DbType == DbType.SqlServer)
{
return new SqlServerExpressionContext();
}
else
{ {
ILambdaExpressions result = CreateInstance<ILambdaExpressions>(GetClassName(currentConnectionConfig.DbType, "ExpressionContext")); ILambdaExpressions result = CreateInstance<ILambdaExpressions>(GetClassName(currentConnectionConfig.DbType, "ExpressionContext"));
return result; return result;
} }
}
public static ISqlBuilder GetSqlbuilder(ConnectionConfig currentConnectionConfig) public static ISqlBuilder GetSqlbuilder(ConnectionConfig currentConnectionConfig)
{ {