动软生成器 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 ...
随机推荐
- 手写LVQ(学习向量量化)聚类算法
LVQ聚类与k-means不同之处在于,它是有标记的聚类,设定带标签的k个原型向量(即团簇中心),根据样本标签是否与原型向量的标签一致,对原型向量进行更新. 最后,根据样本到原型向量的距离,对样本进行 ...
- __str__,__repr__,__add__
class School: def __init__(self,name,addr,type): self.name=name self.addr=addr self.type=type def __ ...
- 【VS开发】浅谈C/C++中的static和extern关键字
一.C语言中的static关键字 在C语言中,static可以用来修饰局部变量,全局变量以及函数.在不同的情况下static的作用不尽相同. (1)修饰局部变量 一般情况下,对于局部变量是存放在栈区的 ...
- Elasticsearch-布尔类型
boolean类型用于存储文档中的true/false.例如:专辑类型中需要添加一个字段表示是否可以下载,如下 curl -XPUT 'localhost:9200/music/album/4' -d ...
- .Net Core使用AutoMapper做对象关系映射
我想很多后端开发者,纠结于如何在Dto及表实体中做属性关系映射,因为真的太繁琐了., ⒈如何使用? Mapper.Initialize(cfg => cfg.CreateMap<Users ...
- 2018.08.10【省赛&提高A组模拟】比赛总结
题解 这次题目可真是太难了! 糟糕的运气使我AK的步伐寸步难行(士气严重下降). T1 这题还是比较水的(尽管我比赛时只拿了50分) 一些大佬们说:这题只是一道简单的暴力题,枚举l+二分r 就可以了. ...
- golang 组装返回json数据,提供api接口
model里 package model type Setting struct { Key string `gorm:"primary_key" json:"key&q ...
- 从入门到自闭之Python时间模块
time模块:import time time.time():时间戳,是一个浮点数,按秒来计算 time.sleep():睡眠,程序暂停多少秒执行 python中时间日期格式化符号: 必背 %y 两位 ...
- bash 转换为C代码
bash 转换为C代码,并编译为可执行文件 [root@localhost ~]# wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.9. ...
- SpringBoot上传文件,经过spingCloud-Zuul,中文文件名乱码解决办法
最近用springCloud整合springboot做分布式服务发现经过zuul之后上传的中文文件名乱码全都变成?????,从而引发异常,单独用springboot却是好的,在网上找到相关资料总结如下 ...