听说你开发.NET还在用VS,小哥哥给你推荐全平台的Rider (2)

脚本的使用方法,在Rider右侧的数据库栏,选择编辑SQL脚本,简单的select一些数据后,出现如下的结果栏,切换红框中的选项到proto-Groovy.cs.groovy,然后选择一行按Ctrl + C进行复制,然后在代码编辑器中Ctrl + V粘贴出来

听说你开发.NET还在用VS,小哥哥给你推荐全平台的Rider

这个DTO就生成好了。

依此类推,也可以通过这种自定义脚本的方式,直接根据整个数据库生成POCO类哟!

一下是两个脚本的代码:

Param-Groovy.cs.groovy

SEP = ", " QUOTE = "\'" NEWLINE = System.getProperty("line.separator") def record(columns, dataRow) { columns.eachWithIndex { item, idx -> OUT.append("/// <summary>\n") OUT.append("/// \n") if (dataRow.value(item) != null) OUT.append("/// eg: ${dataRow.value(item)}\n") OUT.append("/// </summary>\n") OUT.append("public string " + captureName(item.name()) + " { set; get; } \n\n") } } ROWS.each { row -> record(COLUMNS, row) } public static String captureName(String name) { return name.substring(0, 1).toUpperCase() + name.substring(1); }

proto-Groovy.cs.groovy

/* * Available context bindings: * COLUMNS List<DataColumn> * ROWS Iterable<DataRow> * OUT { append() } * FORMATTER { format(row, col); formatValue(Object, col) } * TRANSPOSED Boolean * plus ALL_COLUMNS, TABLE, DIALECT * * where: * DataRow { rowNumber(); first(); last(); data(): List<Object>; value(column): Object } * DataColumn { columnNumber(), name() } */ SEP = ", " QUOTE = "\'" NEWLINE = System.getProperty("line.separator") def record(columns, dataRow) { columns.eachWithIndex { item, idx -> OUT.append("/// <summary>\n") OUT.append("/// \n") if (dataRow.value(item) != null) OUT.append("/// eg: ${dataRow.value(item)}\n") OUT.append("/// </summary>\n") OUT.append("[ProtoMember(${idx + 1})] \n") OUT.append("public string " + captureName(item.name()) + " { set; get; } \n\n") } } ROWS.each { row -> record(COLUMNS, row) } public static String captureName(String name) { return name.substring(0, 1).toUpperCase() + name.substring(1); } 最后

Jetbrains家有很多的IDE,大家可以去看看,开发.NET并一定要使用VS,去外面的世界看看吧。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zygdwz.html