public void QueryByNotIn <T>(Expression <Func <T, object> > expression, SqlLamBase sqlQuery) { var fieldName = GetColumnName(expression); _builder.Not(); _builder.QueryByIsIn(GetTableName <T>(), fieldName, sqlQuery); }
public void ChangeSqlAdapter() { SqlLamBase.SetAdapter(SqlAdapter.SqlServer2008); var query = from product in new SqlLam <Product>() orderby product.ProductName select product; var queryString = query.QueryStringPage(10, 1); SqlLamBase.SetAdapter(SqlAdapter.SqlServer2012); Assert.IsTrue(queryString.Contains("ROW_NUMBER")); }
public void QueryByIsIn(string tableName, string fieldName, SqlLamBase sqlQuery) { var innerQuery = sqlQuery.QueryString; foreach (var param in sqlQuery.QueryParameters) { var innerParamKey = "Inner" + param.Key; innerQuery = Regex.Replace(innerQuery, param.Key, innerParamKey); AddParameter(innerParamKey, param.Value); } var newCondition = $"{Adapter.Field(tableName, fieldName)} IN ({innerQuery})"; WhereConditions.Add(newCondition); }
public void QueryByIsIn(string tableName, string fieldName, SqlLamBase sqlQuery) { var innerQuery = sqlQuery.SqlString; var names = sqlQuery.Parameters.ParameterNames; foreach (var name in names) { var param = sqlQuery.Parameters.Get(name); var innerParamKey = "Inner" + param.Name; innerQuery = Regex.Replace(innerQuery, param.Name, innerParamKey); AddParameter(innerParamKey, param.Value); } var newCondition = string.Format("{0} IN ({1})", Adapter.Field(tableName, fieldName), innerQuery); _conditions.Add(newCondition); }
public DefaultODataSqlBuilder() { SqlLamBase.SetAdapter(SqlAdapter.SqlServer2012); }
public void QueryByIsIn <T>(bool isNot, Expression <Func <T, object> > expression, SqlLamBase sqlQuery) { var fieldName = GetColumnName(expression); _builder.AddCondition(isNot, GetTableName <T>(), fieldName, sqlQuery); }
public void QueryByIsIn(string tableName, string fieldName, SqlLamBase sqlQuery) { var innerQuery = sqlQuery.QueryString; foreach (var param in sqlQuery.QueryParameters) { var innerParamKey = "Inner" + param.Key; innerQuery = Regex.Replace(innerQuery, param.Key, innerParamKey); AddParameter(innerParamKey, param.Value); } var newCondition = string.Format("{0} IN ({1})", Adapter.Field(tableName, fieldName), innerQuery); _conditions.Add(newCondition); }