private string GetFindByColumnMethodAsyncCode(ColumnModel columnModel) { StringBuilder result = new StringBuilder(); result.AppendFormat(CodeHelp.Tab2() + "public async Task<List<{0}>> FindBy{1}Async({2} {3})\n", CodeHelp.CamelCase(_tableName), CodeHelp.CamelCase(columnModel.COLUMN_NAME), CodeHelp.GetCSharpTypeString(columnModel.DATA_TYPE, false), CodeHelp.FirstLower(CodeHelp.CamelCase(columnModel.COLUMN_NAME))); result.AppendLine(CodeHelp.Tab2() + "{"); result.AppendLine(CodeHelp.Tab3() + "using var cmd = Db.Connection.CreateCommand();"); result.AppendFormat(CodeHelp.Tab3() + "cmd.CommandText = @\"SELECT {0} FROM `{1}` WHERE {2} = @{3}\";\n", GetColumnsCode(), _tableName, columnModel.COLUMN_NAME, CodeHelp.CamelCase(columnModel.COLUMN_NAME)); result.AppendLine(CodeHelp.Tab3() + "cmd.Parameters.Add(new MySqlParameter"); result.AppendLine(CodeHelp.Tab3() + "{"); result.AppendFormat(CodeHelp.Tab4() + "ParameterName = \"@{0}\",\n", CodeHelp.CamelCase(columnModel.COLUMN_NAME)); result.AppendFormat(CodeHelp.Tab4() + "DbType = DbType.{0},\n", CodeHelp.GetMySqlDBTypeString(columnModel.DATA_TYPE)); result.AppendFormat(CodeHelp.Tab4() + "Value = {0},\n", CodeHelp.FirstLower(CodeHelp.CamelCase(columnModel.COLUMN_NAME))); result.AppendLine(CodeHelp.Tab3() + "});"); result.AppendLine(CodeHelp.Tab3() + "return await ReadAllAsync(await cmd.ExecuteReaderAsync());"); result.AppendLine(CodeHelp.Tab2() + "}"); return(result.ToString()); }
public string GetColumnsCode() { StringBuilder result = new StringBuilder(); foreach (var columnModel in _columnsModels) { result.AppendFormat("{0}/// <summary>\n", CodeHelp.Tab2()); result.AppendFormat("{0}/// {1}\n", CodeHelp.Tab2(), columnModel.COLUMN_COMMENT); result.AppendFormat("{0}/// </summary>\n", CodeHelp.Tab2()); result.AppendFormat("{0}public {1} {2};\n", CodeHelp.Tab2(), CodeHelp.GetCSharpTypeString(columnModel.DATA_TYPE, columnModel.IS_NULLABLE == "YES"), CodeHelp.CamelCase(columnModel.COLUMN_NAME)); } return(result.ToString()); }