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

Posted 无爱无伤

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了动软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代码生成组件源码














以上是关于动软Model 模板 生成可空类型字段的主要内容,如果未能解决你的问题,请参考以下文章

动软代码生成器的功能说明

基于动软代码生成器的模板编写

动软代码生成器之模板功能介绍

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

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

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