<#@ template language="c#" HostSpecific="True" #>
<#@ output extension= ".cs" #>
<#
TableHost host = (TableHost)(Host);
host.Fieldlist.Sort(CodeCommon.CompareByintOrder);
#>
using System;
using System.Data;
using System.Data.Common;
using Liger.Common;
using Liger.Data;
namespace <#= host.NameSpace #><# if( host.Folder.Length > ) {#>.<#= host.Folder #><# } #>
{
<# if( host.TableDescription.Length > ) {#>
//<#= host.TableDescription #>
<# } #>
/// <summary>
/// 实体类 <#= host.GetModelClass(host.TableName) #>
/// </summary>
[Serializable]
public class <#= host.GetModelClass(host.TableName) #>:Entity
{
public <#= host.GetModelClass(host.TableName) #>(): base("<#= host.GetModelClass(host.TableName) #>")
{
} #region Model
<# foreach (ColumnInfo c in host.Fieldlist)
{ #>
private <#= CodeCommon.DbTypeToCS(c.TypeName) #><# if( CodeCommon.DbTypeToCS(c.TypeName)=="DateTime") {#>?<# } #> _<#= c.ColumnName #> ;
<# } #> <# foreach (ColumnInfo c in host.Fieldlist)
{ #>/// <summary>
/// <#= string.IsNullOrEmpty(c.Description) ? c.ColumnName : c.Description #>
/// </summary>
public <#= CodeCommon.DbTypeToCS(c.TypeName) #><# if( CodeCommon.DbTypeToCS(c.TypeName)=="DateTime") {#>?<# } #> <#= c.ColumnName #>
{
get{ return _<#= c.ColumnName #>; }
set
{
this.OnPropertyValueChange(_.<#= c.ColumnName #>, _<#= c.ColumnName #>, value);
this._<#= c.ColumnName #> = value;
}
}
<# } #>
#endregion #region Method
<# foreach (ColumnInfo c in host.Fieldlist)
{ #>
<# if( c.IsIdentity) {#>
/// <summary>
/// 获取实体中的标识列
/// </summary>
public override Field GetIdentityField()
{
return _.<#= c.ColumnName #> ;
}
<# } #>
<# } #> <# foreach (ColumnInfo c in host.Fieldlist)
{ #>
<# if( c.IsPrimaryKey) {#>
/// <summary>
/// 获取实体中的主键列
/// </summary>
public override Field[] GetPrimaryKeyFields()
{
return new Field[]
{
_.<#= c.ColumnName #> };
}
<# } #>
<# } #> /// <summary>
/// 获取列信息
/// </summary>
public override Field[] GetFields()
{
return new Field[] {
<# foreach (ColumnInfo c in host.Fieldlist)
{ #>
_.<#= c.ColumnName #>,
<# } #>
};
} /// <summary>
/// 获取值信息
/// </summary>
public override object[] GetValues()
{
return new object[] {
<# foreach (ColumnInfo c in host.Fieldlist)
{ #>
_<#= c.ColumnName #>,
<# } #>
};
}
/// <summary>
/// 设置字段值
/// </summary>
public override void SetValue(string fieldName, object value)
{
switch (fieldName)
{
<# foreach (ColumnInfo c in host.Fieldlist)
{ #>
case "<#= c.ColumnName #>":
this._<#= c.ColumnName #> = DataHelper.ConvertValue<<#= CodeCommon.DbTypeToCS(c.TypeName) #><# if( CodeCommon.DbTypeToCS(c.TypeName)=="DateTime") {#>?<# } #>>(value);
break;
<# } #>
}
} /// <summary>
/// 获取字段值
/// </summary>
public override object GetValue(string fieldName)
{
switch (fieldName)
{
<# foreach (ColumnInfo c in host.Fieldlist)
{ #>
case "<#= c.ColumnName #>":
return this._<#= c.ColumnName #>;
<# } #>
default:
return null;
}
}
#endregion #region _Field
/// <summary>
/// 字段信息
/// </summary>
public class _
{
/// <summary>
/// *
/// </summary>
public readonly static Field All = new Field("*", "<#= host.GetModelClass(host.TableName) #>");
<# foreach (ColumnInfo c in host.Fieldlist)
{ #>
/// <summary>
/// <#= string.IsNullOrEmpty(c.Description) ? c.ColumnName : c.Description #>
/// </summary>
public readonly static Field <#= c.ColumnName #> = new Field("<#= c.ColumnName #>", "<#= host.GetModelClass(host.TableName) #>", "<#= string.IsNullOrEmpty(c.Description) ? c.ColumnName : c.Description #>");
<# } #>
}
#endregion }
}

如果主键没有生成成功,请手动在实体中加入

        /// <summary>
        /// 获取实体中的主键列
        /// </summary>
public override Field[] GetPrimaryKeyFields()
{
return new Field[]
{
_.DIR_ID };
}

动软生成器 Liger model生成模板的更多相关文章

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

    动软代码生成器官方下载地址:http://www.maticsoft.com/download.aspx 教程:http://jingyan.baidu.com/article/219f4bf7dfd ...

  2. 动软生成器 model生成模板

    <#@ template language="c#" HostSpecific="True" #> <#@ output extension= ...

  3. 动软生成器添加Mysql注释

    1.解决没有mysql注释问题 替换原文件下载地址 2.更新Models模板 <#@ template language="c#" HostSpecific="Tr ...

  4. C# 动软生成器对应的Access数据库操作类DbHelperOleDb

    using System;using System.Collections;using System.Collections.Specialized;using System.Data;using S ...

  5. asp.net+mvc+easyui+sqlite 简单用户系统学习之旅(三)—— 简单登录页面+sqlite+动软代码生成器的使用

    上一节讲到利用easyui的layout.tree.tab和datagrid创建用户管理的页面,注意利用到easyui的页面一定要按顺序添加jQuery和easyUI的.js和.css样式,灵活查看e ...

  6. 动软代码生成器三层用于winform

    DBUtility项目中的DbHelperSQL.cs (找自己对应的数据库类型) 修改前20行中的数据库连接字符串获取方式为: //数据库连接字符串(web.config来配置),多数据库可使用Db ...

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

    动软代码 生成可空类型 <#@ template language="c#" HostSpecific="True" #> <#@ outpu ...

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

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

  9. 【动软.Net代码生成器】连接MySQL生成C#的POCO实体类(Model)

    首先是工具的下载地址: 动软.Net代码生成器 该工具官网自带完整教程: 文档:http://www.maticsoft.com/help/ 例子:http://www.maticsoft.com/h ...

随机推荐

  1. 【AMAD】jsonschema -- (又)一个JSON Schema的Python实现

    动机 简介 用法 个人评分 动机 JSON Schema1是一个专业词汇,可以让你注解和验证JSON文档. 使用JSON Schema的好处有: 描述你的数据格式 提供清晰的易读的文档 验证数据: 用 ...

  2. VS附加到进程调试

    WIN+R 进入cmd命令  输入 netstat -ano | find "进程端口"      找端口 打开vs alt+d+p选择上图对应的进程

  3. filter方法常用过滤条件

    #encoding: utf-8 from sqlalchemy import create_engine,Column,Integer,String,Float,func,and_,or_ from ...

  4. pyhton sort()无返回值

    li3=['] li4=li3.sort()#sort是没有返回值得,打印的是none,对列表进行升序排列 print(li4) print(li3) 输出结果是None['123', '123', ...

  5. 设计模式:建造者模式(Builder)

    流水作业大家应该都清楚吧!在流水作业中,我们可以将一些复杂的东西给构建出来,例如汽车.我们都知道汽车内部构件比较复杂,由很多部件组成,例如车轮.车门.发动机.方向盘等等,对于我们用户来说我们并不需要知 ...

  6. 常用的 Git 命令,给你准备好了!

    分支操作: git branch 创建分支 git branch -b 创建并切换到新建的分支上 git checkout 切换分支 git branch 查看分支列表 git branch -v 查 ...

  7. c++学习笔记之类和对象(一、类定义)

    类和对象是 C++ 的重要特性,它们使得 C++ 成为面向对象的编程语言. 类是创建对象的模板,一个类可以创建多个对象,每个对象都是类类型的一个变量:创建对象的过程也叫类的实例化.每个对象都是类的一个 ...

  8. @Value中冒号的作用

    先说明冒号的作用 :可以设置默认值 @Value中可以使用 @Value("${hello:defaultValue}") private String hello; 若找不到属性 ...

  9. java实现的LinkedLilst

    package javabean.adt.List; import java.util.ConcurrentModificationException; import java.util.Iterat ...

  10. 关于Android studio调用高德地图的简单流程和要点

    一,账号与Key的申请 注册成为高德开发者需要分三步: 第一步,注册高德开发者:第二步,去控制台创建应用:第三步,获取Key. 前2步都比较简单,这里说下第三步. 获取Key 1.进入控制台,创建一个 ...