动软Model 模板 生成可空类型字段

动软代码 生成可空类型

<#@ template language="c#" HostSpecific="True" #>
<#@ output extension= ".cs" #>
<#
    TableHost host = (TableHost)(Host);
    host.Fieldlist.Sort(CodeCommon.CompareByintOrder);
#>
using System;
using System.Text;
using System.Collections.Generic;
using System.Data;
namespace <#= host.NameSpace #>.Model<# if( host.Folder.Length > 0) {#>.<#= host.Folder #><# } #>
{
    <# if( host.TableDescription.Length > 0) {#>
     //<#= host.TableDescription #>
    <# } #>
    public class <#= host.GetModelClass(host.TableName) #>
    {

          <# foreach (ColumnInfo c in host.Fieldlist)
        { #>/// <summary>
        /// <#= string.IsNullOrEmpty(c.Description) ? c.ColumnName : c.Description #>
        /// </summary>
        private <#= GetTypeName(c) #> _<#= c.ColumnName.ToString().ToLower() #>;
        public <#= GetTypeName(c) #> <#= c.ColumnName #>
        {
            get{ return _<#= c.ColumnName.ToString().ToLower()#>; }
            set{ _<#= c.ColumnName.ToString().ToLower() #> = value; }
        }
        <# } #>

    }
}

<#+
            private string GetTypeName(ColumnInfo c)
            {
                if(c.Nullable && (CodeCommon.DbTypeToCS(c.TypeName).ToString().ToLower())!="string") //如果字段可以为空,并且不是字符串类型 转换为可空类型
                {
                   return CodeCommon.DbTypeToCS(c.TypeName)+"?";
                }

                else
                {
                     return CodeCommon.DbTypeToCS(c.TypeName);
                }

            }

        #>

1.Model中值类型的字段改为可空类型。具体设置:工具-选项-代码参数-字段类型映射中[isValueType]段;
 如果不需要,可将配置文件中的相应字段删除即可。
2.批量代码生成,表名统一去前缀功能
3.代码生成器加入代码保存功能
4.增加了高效连接模式:适合大量表的情况下,启用此项实现快速连接。
5.增加对MySQL数据库的支持。
6.查询分析器右键附加功能:根据sql语句直接生成SQL脚本的拼接代码,这样提供更灵活的数据层代码生成。
7.查询分析器右键附加功能:根据sql查询结果生成数据脚本,而不是整个表的数据脚本。
8.基于sql方式DAL代码生成,add方法增加字段空值插入的判断
9. BLL增加public List<> GetModelList()方法,返回list<>数据。
10.记录错误日志信息。
11.发布BLL层代码模板组件源码。
12.发布Web层代码生成组件源码。
13.发布Model代码生成组件源码

时间: 2024-07-30 10:17:39

动软Model 模板 生成可空类型字段的相关文章

动软代码生成器--模板开发学习

今天看了动软的在线帮助,现在把模板开发教程部分写出来,以方便日后的查询,希望也能帮助到其他人.文章只是把在线帮助的复制了过来,调整了一下格式. 模板的大体分为5部分: 模板指令块声明 代码语句块 表达式块 类功能控制块 文本块输出 以下对每一部分进行讲解: 模板指令块声明 和ASP.NET页面的指令一样,它们出现在文件头,通过<#@-#>表示. 1.模板指令 以<#@ template -#>表示,是必须的部分,用于定义模板的基本属性. 指令格式: <#@ template

利用动软代码生成器 自动生成LINQ需要用的数据实体类 (转)

首先先建立一个模板 名称随意 我起的“生成数据实体.cmt” 代码如下: <#@ template language="c#" HostSpecific="True" #> <#@ output extension= ".cs" #> <# TableHost host = (TableHost)(Host); host.Fieldlist.Sort(CodeCommon.CompareByintOrder); #&

动软模板系列二(Model层模板)

动软模板其实和CodeSmith的模板差不多 实现的原理是一样的,但是CodeSmith貌似只支持表生成,而且不够“国人化”,所以打算研究下动软的模板,如果熟练掌握后想必以后开发项目效率可以提高很多了: 这里以典型三层的默认模板为例子: -----------------------------------------------------------------------------------------------------------------------------------

论动软代码生成器的好与坏

曾几何时,动软代码生成器是一种非常方便的工具,很多从事C#语言的开发人员都用过这个工具,当然也包括楼主本人. 以往的开发模式都是围绕数据库为中心展开的,先设计好数据库,然后再编写代码.动软代码生成器就是在这样的背景下诞生的. 你只要设计好数据库模式,然后用动软代码生成器一键生成数据访问层代码,非常方便.(虽然动软有业务层,但我认为那是鸡肋,只不过是数据访问层的一层简单包装,没有实际意义) 这对不想手动编写枯燥乏味的数据库操作的开发人员来说,非常有吸引力. 下面楼主凭借自己的经验,从好与坏两个方面

动软代码生成器生成实体时,修改模板简化实体的封装

首先点击代码模板右键新建一个模板 <#@ template language="c#" HostSpecific="True" #> <#@ output extension= ".cs" #> <# TableHost host = (TableHost)(Host); host.Fieldlist.Sort(CodeCommon.CompareByintOrder); #> using System; us

动软代码生成器 可用于生成Entity层,可更改模板 /codesmith 也可以

动软代码生成器官方下载地址:http://www.maticsoft.com/download.aspx 教程:http://jingyan.baidu.com/article/219f4bf7dfda86de442d380b.html codesmith  用法实例:http://www.cnblogs.com/huangcong/archive/2010/06/14/1758201.html

动软模板使用教程

目录   一.        功能介绍... 3 二.        下载安装... 3 三.        模板代码生成... 3 四.        模板代码批量生成... 5 五.        代码生成规则设置... 6 六.        模板编写教程... 9 1.模板指令声明块 <#@  #>. 9 (1) 模板指令... 9 (2) 参数指令... 9 (3) 输出指令... 9 (4) 程序集指令... 9 (5) 导入指令... 9 (6) 包含指令... 9 2.代码语句

动软模板系列一

先看下动软官方的教程: http://www.maticsoft.com/help/Template.htm#_Toc292191122 六.    模板编写教程 模板的大体分为5块内容:模板指令声明,代码语句块,表达式块,类功能控制块,文本块输出.下面我们分别来介绍一下这5块内容的语法和使用说明. 模板指令声明块 <#@  #> 和ASP.NET页面的指令一样,它们出现在文件头,通过<#@…#>表示.其中<#@ template …#>指令是必须的,用于定义模板的基本

使用&quot;动软代码生成器&quot;制作自定义模板的参数表

Host对象属性列表 Host对象方法列表 TableInfo  表对象属性 ColumnInfo  字段信息对象 CodeCommon工具类常用方法 动软代码生成器自带的事例模板 <#@ template language="c#" HostSpecific="True" #><#@ output extension= ".cs" #><#    TableHost host = (TableHost)(Host)