public static IParamBuilder CreateLikeSql(TkDbContext context, IFieldInfo fieldName, string likeValue, string exceptValue) { CodeLikeParamBuilder builder = new CodeLikeParamBuilder(); return(builder.InternalCreateLikeSql(context, fieldName, likeValue, exceptValue)); }
private IParamBuilder GetQueryParamBuilder(TkDbContext context, IFieldInfo fieldName, string fieldValue) { int len = Math.Min(fieldValue.Length, fTreeDef.TotalCount); if (len == fTreeDef.TotalCount) { return(SqlParamBuilder.CreateEqualSql(context, fieldName, fieldValue)); } if (len == 0) { return(SqlParamBuilder.CreateSingleSql(context, fieldName, "LIKE", fLevelProvider.GetSqlLikeValue(fTreeDef, 0, fieldValue))); } else { int level = fTreeDef.GetLevel(fieldValue); string likeValue = fLevelProvider.GetSqlLikeValue(fTreeDef, level + 1, fieldValue); string exceptValue = fLevelProvider.GetSqlExceptValue(fTreeDef, level + 1, fieldValue); return(CodeLikeParamBuilder.CreateLikeSql(context, fieldName, likeValue, exceptValue)); } }