首页 > 代码库 > CodeSmith7连接Mysql
CodeSmith7连接Mysql
由于CodeSmith连接MySql的dll有点小Bug,无法获取表和列的描述信息,所以,需要重新修改驱动程序。
如上图所示,CodeSmith的mysql驱动是无法获取表和列的描述。所以我们需要重新修改MySQLSchemaProvide。步骤如下:
- 按照路径,打开项目。
- 注意需要重新引入dll。
- 打开mysql客户端程序,先查看表结构和列结构.
- 打开项目,修改代码,关键代码如下:
- 上面是增加了表的描述列,方法的下面是表的描述,原有内容为:
if (schemaObject is TableSchema) { TableSchema tableSchema = schemaObject as TableSchema; string commandText = string.Format(@"SHOW CREATE TABLE `{0}`.`{1}`", tableSchema.Database.Name, tableSchema.Name); using (DbConnection connection = CreateConnection(connectionString)) { connection.Open(); DbCommand command = connection.CreateCommand(); command.CommandText = commandText; command.Connection = connection; using (IDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection)) { while (reader.Read()) { string createtable = reader.GetString(1); extendedProperties.Add(new ExtendedProperty("CS_CreateTableScript", createtable, DbType.String)); } if (!reader.IsClosed) reader.Close(); } if (connection.State != ConnectionState.Closed) connection.Close(); } }
- 将上面的sql语句修改为Select TABLE_NAME,TABLE_COMMENT From information_schema.`TABLES` where TABLE_SCHEMA=‘{0}‘ and TABLE_NAME=‘{1}‘。并且将extendedProperties.Add(new ExtendedProperty("CS_CreateTableScript", createtable, DbType.String));修改为 extendedProperties.Add(new ExtendedProperty("CS_Description", createtable, DbType.String));
- 重新编译后,将编译后的dll组件替换codeSmith7里面的dll。路径如图
- 最终效果图
若需要完成的dll,可以留下邮件地址。抽空可以发送完成的dll给大家。
CodeSmith7连接Mysql
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。