代码改变世界

用动软生成WCF契约层中的实体

2012-07-05 14:25  左眼微笑右眼泪  阅读(493)  评论(0编辑  收藏  举报

   动软代码生成器中有一个根据模板生成代码的功能,在这里,把它自带的模板进行了一些小的改动,就可以用来生成契约层的实体类。具体步骤如下:

   首先,选择要生成实体的数据表,然后右键“模板代码生成”,把模板代码,粘贴到窗体下面的模板中,点击生成,即可。

   模板代码如下:

<#@ 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 #>
    <# } #>
[DataContract()]
    public class <#= host.GetModelClass(host.TableName) #>
    {
                
          <# foreach (ColumnInfo c in host.Fieldlist)
        { #>/// <summary>
        /// <#= string.IsNullOrEmpty(c.Description) ? c.ColumnName : c.Description #>
        /// </summary>    
        private <#= CodeCommon.DbTypeToCS(c.TypeName) #> _<#= c.ColumnName.ToString().ToLower() #>;
        [DataMember(Name = "<#= c.ColumnName #>", IsRequired = true, Order = <#= int.Parse(c.ColumnOrder)-1 #>)]
        public <#= CodeCommon.DbTypeToCS(c.TypeName) #> <#= c.ColumnName #>
        {
            get{ return _<#= c.ColumnName.ToString().ToLower()#>; }
            set{ _<#= c.ColumnName.ToString().ToLower() #> = value; }
        }        
        <# } #>
   
    }
}