动软生成器 Liger model生成模板
<#@ 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生成模板的更多相关文章
- 动软代码生成器 可用于生成Entity层,可更改模板 /codesmith 也可以
动软代码生成器官方下载地址:http://www.maticsoft.com/download.aspx 教程:http://jingyan.baidu.com/article/219f4bf7dfd ...
- 动软生成器 model生成模板
<#@ template language="c#" HostSpecific="True" #> <#@ output extension= ...
- 动软生成器添加Mysql注释
1.解决没有mysql注释问题 替换原文件下载地址 2.更新Models模板 <#@ template language="c#" HostSpecific="Tr ...
- C# 动软生成器对应的Access数据库操作类DbHelperOleDb
using System;using System.Collections;using System.Collections.Specialized;using System.Data;using S ...
- asp.net+mvc+easyui+sqlite 简单用户系统学习之旅(三)—— 简单登录页面+sqlite+动软代码生成器的使用
上一节讲到利用easyui的layout.tree.tab和datagrid创建用户管理的页面,注意利用到easyui的页面一定要按顺序添加jQuery和easyUI的.js和.css样式,灵活查看e ...
- 动软代码生成器三层用于winform
DBUtility项目中的DbHelperSQL.cs (找自己对应的数据库类型) 修改前20行中的数据库连接字符串获取方式为: //数据库连接字符串(web.config来配置),多数据库可使用Db ...
- 动软Model 模板 生成可空类型字段
动软代码 生成可空类型 <#@ template language="c#" HostSpecific="True" #> <#@ outpu ...
- 动软模板系列二(Model层模板)
动软模板其实和CodeSmith的模板差不多 实现的原理是一样的,但是CodeSmith貌似只支持表生成,而且不够“国人化”,所以打算研究下动软的模板,如果熟练掌握后想必以后开发项目效率可以提高很多了 ...
- 【动软.Net代码生成器】连接MySQL生成C#的POCO实体类(Model)
首先是工具的下载地址: 动软.Net代码生成器 该工具官网自带完整教程: 文档:http://www.maticsoft.com/help/ 例子:http://www.maticsoft.com/h ...
随机推荐
- sqlalchemy的常用字段
#encoding: utf-8 from sqlalchemy import create_engine,Column,Integer,String,\ Float,Boolean,DECIMAL, ...
- PTA(Basic Level)1027.打印沙漏
本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印 ***** *** * *** ***** 所谓"沙漏形状",是指每行 ...
- Longest Palindromic Subsequence
Given a string s, find the longest palindromic subsequence's length in s. You may assume that the ma ...
- # 最短Hamilton路径(二进制状态压缩)
最短Hamilton路径(二进制状态压缩) 题目描述:n个点的带权无向图,从0-n-1,求从起点0到终点n-1的最短Hamilton路径(Hamilton路径:从0-n-1不重不漏的每个点恰好进过一次 ...
- cf 1163D Mysterious Code (字符串, dp)
大意: 给定字符串$C$, 只含小写字母和'*', '*'表示可以替换为任意小写字母, 再给定字符串$S,T$, 求$S$在$C$中出现次数-$T$在$C$中出现次数最大值. 设$dp[i][j][k ...
- sql server case when
case具有两种格式:简单Case函数和Case搜索函数 简单case函数 实例:CASE sex when '1' then '男' when '2' then'女' els ...
- scrapydWeb安装和使用
1. 安装:pip install scrapydweb 2. 启动:scrapydweb 第一次执行,当前目录会生产配置文件:scrapydweb_settings_v8.py 配置账户和密码: # ...
- 为什么wamp 放两个网站 或者多个网站就很卡很慢,问题在这里
PHP的配置比较简单,只需要进行一些基本设置的修改就可以了,依次点击—PHP—php.ini,找到这三个地方:short_open_tag = Off(是否允许使用 PHP 代码开始标志的缩写形式(& ...
- 常用的排序算法介绍和在JAVA的实现(一)
一.写随笔的原因:排序比较常用,借此文介绍下排序常用的算法及实现,借此来MARK一下,方便以后的复习.(本人总是忘得比较快) 二.具体的内容: 1.插入排序 插入排序:在前面已经排好序的序列中找到合适 ...
- idea一键生成mybatis工具
1.创建maven项目,导包 <build> <plugins> <plugin> <groupId>org.mybatis.generator< ...