最近学习codeSmith7,发现开发效率瞬间提高了不少。但是连接mysql数据库开发时,遇到无法获取到MySQL中的表和列的comment属性。记录一下解决的方案,方便后人出坑。
一、测试结果:
建表语句
CREATE TABLE test ( id bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', reason varchar(200) COMMENT '原因', remark varchar(500) COMMENT '描述', status tinyint(4) COMMENT '状态:1 无效 ,2有效', cre_emp bigint(20) COMMENT '创建人', cre_time datetime COMMENT '创建时间', mod_emp bigint(20) COMMENT '修改人', mod_time datetime COMMENT '修改时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8 COMMENT='测试表'; |
codeSmith测试代码
<%@ Template Language="C#"%> <%@ Assembly Name="SchemaExplorer" %> <%@ Import Namespace="SchemaExplorer" %> <%-- 要打印的表 --%> <%@ Property Name="Table" Type="TableSchema" DeepLoad="True" Optional="False" %> 获取表的comment属性: <%=Table.Description %> 获取表的列的comment属性: <%foreach(ColumnSchema col in Table.Columns) { %> <%= col.Description %> <% } %> |
测试输出结果
获取表的comment属性: 测试表 获取表的列的comment属性: 主键 原因 描述 状态:0 无效 ,1 有效 创建人 创建时间 修改人 |
二、解决方案
下载连接:https://download.youkuaiyun.com/download/tqs314/10716166
从上面连接下载SchemaExplorer.MySQLSchemaProvider.dll,替换下图所示的,你的codeSmith安装目录下SchemaProviders文件的SchemaExplorer.MySQLSchemaProvider.dll文件即可。