• CodeSmith使用总结--读取一个表试试


    我感觉CodeSmith对于我的最大用途是不用我手动创建每个表的ModelBLLDAL了,那些繁琐的工作真的让我很无语。

    CodeSmith要读取数据库中的表就要先连接数据库。

    新建一个数据库连接,会让你输入数据库名、数据库类型和连接字符串。我经常用到的两个连接设置如下:

    数据库

    连接类型

    连接字符串

    MySql

    MySqlShemaProvider

    server=localhost;database=;User Id=root;Password=123;

    SqlServer

    SqlShemaProvider

    server=.SQLExpress;database=;uid=sa;pwd=sa;

    测试连通了以后就可以开始我们的模板路程了。

    <%@ Assembly Name="SchemaExplorer" %>

    <%@ Import Namespace="SchemaExplorer" %>

    引用了CodeSmith自带的一个数据库连接组件,然后引用其命名空间。接下来就要定义一个属性来获取表了

    <%@ Property Name="SourceTable" Type="SchemaExplorer.TableSchema" Category="" Description="要操作的表" %>

    他会在属性栏里边创建一个数据库选择按钮,用它来选择我们要操作的数据库。

     

    Type 在这里的类型是SchemaExplorer.TableSchema 就是读取表结构,与之类似的

    SchemaExplorer.DateSchema 读数据库SchemaExplorer.ViewSchema 读视图等等……

    用它来选择完要操作的表以后我们就要读取表结构了,跟读取字段属性一样,都是用<%=  %>标记来取值,中间跟着字段名和他的属性,Like<%= SourceTable.Name %>去数据库名。

    就想定义的模板语言一样,可以使用C#中的foreach循环来读取表的字段。使用方法如下

    <%foreach(ColumnSchema col in SourceTable.Columns) {%>

    <%= col.Name %>--<%= col.DataType %>

    <%} %>

    这样就可以循环表中所有的字段了,当然你也可以加一些条件,比如不读取主键或只读主键之类。

    最终模板:

     

    <%-- 

    Name: 测试模板2

    Author: GodFinal

    Description: 

    --%>

    <%@ Template Language="C#" TargetLanguage="SQL" Description="连接SQL数据库,并读取表结构" Debug="True"%>

    <%--调用CodeSmith自带的组件SchemaExplorer,这是一个访问数据库的组件--%>

    <%@ Assembly Name="SchemaExplorer" %>

    <%@ Import Namespace="SchemaExplorer" %>

    <%--定义一个属性,来获得要操作的表。TableSchema取得是表,ViewSchema是视图。--%>

    <%@ Property Name="SourceTable" Type="SchemaExplorer.TableSchema" Category="" Description="要操作的表" %>

    <%--循环读取表的字段结构--%>

    <%foreach(ColumnSchema col in SourceTable.Columns) {%>

    <%= col.Name %>--<%= col.DataType %>

    <%} %>

    测试运行结果:

     

    id--Int32

    CPlace--String

    Saler--String

    Company--String

    Department--String

    Account--String

    telephone--String

    email--String

    Address--String

    Zipcode--String

    Level--String

     

  • 相关阅读:
    流水线电子看板的设计与实现
    ASP.NET MVC 5 Web编程4 -- Razor视图引擎
    实战:上亿数据如何秒查
    ASP.NET MVC 5 Web编程3 -- Controller的应用及扩展
    ASP.NET MVC 5 Web编程2 -- URL映射(路由原理)
    ASP.NET MVC 5 Web编程1 -- 入门
    IIS发布站点错误收集(持续更新)
    .NET垃圾回收(GC)原理
    SSRS(rdl报表)分页显示表头和对表头的冻结处理
    《CLR.via.C#第三版》第二部分第13章节 接口 读书笔记(七)
  • 原文地址:https://www.cnblogs.com/GodFinal/p/3510876.html
Copyright © 2020-2023  润新知