• MVC使用的MetaModel代码生成器模板


    代码生成器能使从一些重复的工作中缓解下来

    在最近开发MVC项目中使用到了MetaModel用来设定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 #><# } #>
    {
        public class <#= host.GetModelClass(host.TableName) #>MetaData
        {
                    
              <# foreach (ColumnInfo c in host.Fieldlist)
            { #>
            
            [Display(Name = "<#= c.ColumnName #> ")]
            <# if( CodeCommon.DbTypeToCS(c.TypeName)=="string") {#>[StringLength(<#= CodeCommon.GetDataTypeLenVal(c.TypeName, c.Length) #>, ErrorMessage = "长度不可超过<#= CodeCommon.GetDataTypeLenVal(c.TypeName, c.Length) #>")]<# } #>
            <# if( CodeCommon.DbTypeToCS(c.TypeName)=="int") {#>[Range(0, 999999999, ErrorMessage = "数值超出范围")]<# } #>
            <# if( CodeCommon.DbTypeToCS(c.TypeName)=="DateTime") {#>[DataType(DataType.DateTime, ErrorMessage = "时间格式不正确")]<# } #>
            public <#= CodeCommon.DbTypeToCS(c.TypeName) #><# if( CodeCommon.DbTypeToCS(c.TypeName)!="string") {#>?<# } #> <#= c.ColumnName #>  { get; set; }    
            
            <# } #>
       
        }
    }
  • 相关阅读:
    nginx下pagespeed使用详解
    letsencrypt证书-使用certbot申请wildcard证书
    letsencrypt证书-管理工具certbot
    tcpdump使用
    elasticsearch增删改查操作
    elasticsearch安装中文分词器
    dragstart drag dragend dragenter dragover dragleave drop
    js如何准确获取当前页面url网址信息
    /touch滑屏事件
    监听 手机back键和顶部的回退
  • 原文地址:https://www.cnblogs.com/philo/p/3267961.html
Copyright © 2020-2023  润新知