发布网友 发布时间:2022-04-08 20:23
共2个回答
懂视网 时间:2022-04-09 00:45
获得表的注释,Oracle专用 public string GetTableDescription(){ string result=""; using (OracleConnection conn = new OracleConnection(this.SourceTable.Database.ConnectionString)) { OracleCommand comm = new OracleCommand("select Comments from user_tab_comments where table_name=‘"+this.SourceTable.Name+"‘", conn); conn.Open(); result =Convert.ToString(comm.ExecuteScalar()); comm.Dispose(); conn.Close(); } return result; }当然,如果直接这样CodeSmith会报错,然后我们需要在头部引用程序集和命名空间如下:
<%--下面是引用程序集 --%> <%@ Assembly Name="System.Data.OracleClient" %> <%--下面是引用命名空间 --%> <%@ Import Namespace="System.Data.OracleClient" %>
走到这里就可以通过GetTableDescription()方法获得注释了。
注:SourceTable表示头部定义的表变量,如下:
<%@ Property Name="SourceTable" Type="SchemaExplorer.TableSchema" Category="Context" Description="选择数据库的一张表" %>
希望这份记录也能让急需解决该问题的你获得灵感。
CodeSmith无法获取Oracle表注释
标签:
热心网友 时间:2022-04-08 21:53
CodeSmith3.0(代码文件生成工具) CodeSmith是一个强大的国外共享软件,可以完成文件内容的自动生成(代码生成工具),下载 http://www.zzmine.com/down/CodeSmith3.0.rar 因为自带的数据库驱动只有sql server,要访问oracle数据库,请下载oracle驱动 http://forum.codesmithtools.com/default.aspx?f=10&m=2917 中的Native Schema Provider.zip,然后用Vs2003重新编译为SchemaExplorer.OracleNativeSchemaProvider.dll和SchemaExplorer.OracleNativeSchemaProvider.dll.config 把这2个文件放到CodeSmith3.0\v3.0\SchemaProviders\目录下即可 操作示例(访问oracle数据库,生成一个表的纯字段实体类文件): 运行CodeSmithStudio.exe 选择 View - Schema Explorer 出现 Schema Explorer 窗体 点击 Manager Data Sources 出现 Data Source Manager 窗体 点击 Add , 出现Data Source 窗体, 输入Name为OracleDataBaseAAA(oracle服务名) 选择Provider Type为OracleNativeSchemaProvider 输入Connection String为 Data Source=OracleDataBaseAAA; User ID=system; Password=manager; 点击OK保存 点击OracleDataBaseAAA,点击Tables就可以看到所有的表 以上是准备工作,下面实现生成OFFLINE_DEC.COMPLEX实体文件 1.首先设计模版文件如下(test.cst) <%@ CodeTemplate Language="C#" TargetLanguage="C#" LinePragmas="True" %> <%@ Property Name="SourceTable" Type="SchemaExplorer.TableSchema" Category="SourceTable" Description="选择一个数据源" %> <%@ Property Name="Namespace" Type="String" Category="Main" Description="输出文件使用的命名空间" %> <%@ Property Name="DeveloperName" Type="String" Category="Main" Description="作者" %> <%@ Assembly Name="SchemaExplorer" %> <%@ Import Namespace="SchemaExplorer" %> //*********************************************************************** // Created: <%= DateTime.Now.ToShortDateString() %> Author: <%= DeveloperName %> // File: <%= CodeTemplate.GetFileName() %> // Description: <%= SourceTable.Name %> 自定义实体类, 使用 CodeSmith 自动生成. //*********************************************************************** //SchemaExplorer. using System; namespace <%= Names