1. 程式人生 > >codeSmith7解決無法獲取到MySQL中的表和列的comment屬性

codeSmith7解決無法獲取到MySQL中的表和列的comment屬性

最近學習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 有效
建立人
建立時間
修改人

二、解決方案

從上面連線下載SchemaExplorer.MySQLSchemaProvider.dll,替換下圖所示的,你的codeSmith安裝目錄下SchemaProviders檔案的SchemaExplorer.MySQLSchemaProvider.dll檔案即可。