zoukankan      html  css  js  c++  java
  • 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; }    
            
            <# } #>
       
        }
    }
  • 相关阅读:
    Spring配置文件中使用ref local与ref bean的区别
    基于JDK动态代理和CGLIB动态代理的实现Spring注解管理事务
    Spring事务配置的五种方式
    [codeforces-543B]bfs求最短路
    [hdu5218]DP-约瑟夫环变形
    [hdu5215]无向图找奇偶环
    [hdu5216]排序
    [zoj3591]Nim 游戏
    [zoj3596]DP(BFS)
    [zoj3593]扩展欧几里得+三分
  • 原文地址:https://www.cnblogs.com/philo/p/3267961.html
Copyright © 2011-2022 走看看