动软代码生成与 EntityFramework 实体生成模板
有用到EntityFrameWork的同学们,可以用用。
实体工程中添加EF6的dll
还有
ValidBox4Mvc.ValidRules.dll应用到项目中,此dll下载地址:http://www.cnblogs.com/kewei/p/3548517.html
<#@ 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 EF=System.ComponentModel.DataAnnotations.Schema;
using EFKey=System.ComponentModel.DataAnnotations;
using ValidBox4Mvc.ValidRules;
namespace TC.Cloud.Public.Model
{
<# if( host.TableDescription.Length > 0) {#> /// <summary>
///<#= host.TableDescription #>
/// </summary>
[Serializable]
[EF.Table("<#= host.GetModelClass(host.TableName) #>")]
<# } #>
public class <#=System.Text.RegularExpressions.Regex.Replace(host.GetModelClass(host.TableName), @"^.*?_", "") #>
{ <# foreach (ColumnInfo c in host.Fieldlist)
{ #>/// <summary>
/// <#= string.IsNullOrEmpty(c.Description) ? c.ColumnName : c.Description #>
/// </summary>
<# if (c.IsPrimaryKey) {#>[EFKey.Key]<#}#>
<# if (c.TypeName =="varchar") {#>[Length(<#=Convert.ToInt32(c.Length)/2 #>)]<#} if (c.TypeName =="nvarchar") {#> [Length(<#=c.Length #>)]<#}#>
<# if (!c.Nullable) {#>[Required(ErrorMessage = "<#= string.IsNullOrEmpty(c.Description) ? c.ColumnName : c.Description #>不能为空")]<#}#>
[EF.Column("<#= c.ColumnName #>")]
public <#= CodeCommon.DbTypeToCS(c.TypeName) #> <#=System.Text.RegularExpressions.Regex.Replace(c.ColumnName, @"^.*?_", "") #>{ get;set; }
<# } #> }
}
不带验证的
<#@ 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 > ) {#>.<#= host.Folder #><# } #>
{
<# if( host.TableDescription.Length > ) {#>
//<#= host.TableDescription #>
<# } #>
public class <#= host.GetModelClass(host.TableName) #>
{ <# foreach (ColumnInfo c in host.Fieldlist)
{ #>/// <summary>
/// <#= string.IsNullOrEmpty(c.Description) ? c.ColumnName : c.Description #>
/// </summary>
[Display(Name = "<#= string.IsNullOrEmpty(c.Description) ? c.ColumnName : c.Description #>")]
public <#= CodeCommon.DbTypeToCS(c.TypeName) #> <#= c.ColumnName #>
{
get;
set;
}
<# } #> public <#= host.GetModelClass(host.TableName) #>(<# int i=; foreach (ColumnInfo c in host.Fieldlist) { #><#=CodeCommon.DbTypeToCS(c.TypeName) #> _<#= c.ColumnName #><# if(i!=host.Fieldlist.Count) { #>,<# }#> <# i++; } #>)
{ <#foreach(ColumnInfo c in host.Fieldlist) { #>
this.<#= c.ColumnName#>= _<#= c.ColumnName#>;<# } #>
} public <#= host.GetModelClass(host.TableName) #>(){} }
}
vs2013批量删除空行 :^\s\S*$\n

动软代码生成与 EntityFramework 实体生成模板的更多相关文章
- 动软代码生成V2.74模版简介
最近发现很多人用动软代码生成,确实方便,有些经验记录下,以后查看回顾. ..\Maticsoft\Codematic2\Template\TemplateFile 为模板文件夹,直接在目录下新建文件夹 ...
- 手把手教你用动软.NET代码生成器实例教程
动软实战攻略 手把手教你用动软 文档编号:20110421 版权所有 © 2004-2011 动软 在线帮助:http://help.maticsoft.com 目录 一. 产品介绍 ...
- asp.net+mvc+easyui+sqlite 简单用户系统学习之旅(三)—— 简单登录页面+sqlite+动软代码生成器的使用
上一节讲到利用easyui的layout.tree.tab和datagrid创建用户管理的页面,注意利用到easyui的页面一定要按顺序添加jQuery和easyUI的.js和.css样式,灵活查看e ...
- 【动软.Net代码生成器】连接MySQL生成C#的POCO实体类(Model)
首先是工具的下载地址: 动软.Net代码生成器 该工具官网自带完整教程: 文档:http://www.maticsoft.com/help/ 例子:http://www.maticsoft.com/h ...
- 动软生成的WCP DAO层模板(不使用接口)
本实战是博主初次学习Java,分析WCP源码时,学习HibernateTools部分的实战,由于初次接触,难免错误,仅供参考,希望批评指正. 开发环境: Eclipse Version: Photon ...
- 动软软件 生成 实体类模板(EnterpriseFrameWork框架)
1.废话不多说,直接上效果图 . 2 .动软模板代码 <#@ template language="c#" HostSpecific="True" #&g ...
- 动软Model 模板 生成可空类型字段
动软代码 生成可空类型 <#@ template language="c#" HostSpecific="True" #> <#@ outpu ...
- 动软代码生成器 可用于生成Entity层,可更改模板 /codesmith 也可以
动软代码生成器官方下载地址:http://www.maticsoft.com/download.aspx 教程:http://jingyan.baidu.com/article/219f4bf7dfd ...
- C# 嵌入dll 动软代码生成器基础使用 系统缓存全解析 .NET开发中的事务处理大比拼 C#之数据类型学习 【基于EF Core的Code First模式的DotNetCore快速开发框架】完成对DB First代码生成的支持 基于EF Core的Code First模式的DotNetCore快速开发框架 【懒人有道】在asp.net core中实现程序集注入
C# 嵌入dll 在很多时候我们在生成C#exe文件时,如果在工程里调用了dll文件时,那么如果不加以处理的话在生成的exe文件运行时需要连同这个dll一起转移,相比于一个单独干净的exe,这种形 ...
随机推荐
- JAVA设计模式之【简单工厂模式】
1.创建抽象类User public abstract class User // 抽象类 { public void sameOperation() { System.out.println(&qu ...
- bzoj4199
看到这题我就伤心,当初想到了正解却因为各种sb原因没有写…… 好吧,其实我的正解是比较挫的…… 大家似乎都用了后缀数组,我用了后缀自动机(后缀树) 其实SAM是很好想得,用SAM建出后缀树后 我们考虑 ...
- 采用RPC方式和document方式 开发Axis2的WebService客户端
import javax.xml.namespace.QName; import org.apache.axiom.om.OMAbstractFactory; import org.apache.ax ...
- asp.net(C#)清除全部Session与单个Session
Session.Abandon();//清除全部SessionSession["UserName"] = null;Session.Remove("UserName&qu ...
- 切记一定要防止恶意用户直接访问Ajax请求地址
多年前的一个web项目, 有一个地方是用ajax发送短信验证码, 当时没考虑好, 没判断来路, 这几天被人恶意滥用发送了很多垃圾短信, 投诉到公司来了. 今天一看代码吓出一身冷汗! 以后一定要记得判 ...
- pycharm Working directory error
/***************************************************************************** * pycharm Working dir ...
- MAC OSX 下安装 CTAGS
由于本子跟风换了骚货MBP,因而开发要迁移到MAC OSX下,mac os 下的ctags不一样,所以需要自己编译一个 Lion内置了ctags,但是不我所需要,因此得在网上去弄,最新的版本是 5 ...
- 《Unix网络编程》卷2 读书笔记 第1章-简介
1. 概述 2. 进程.线程与信息共享 Unix进程间的信息共享有多种方式:注意下图中内核的位置 左边的两个进程共享存留于文件系统中某个文件上的某些信息.为访问这些信息,每个进程都得穿越内核. 中 ...
- HBase 系统架构
HBase是Apache Hadoop的数据库,能够对大型数据提供随机.实时的读写访问.HBase的目标是存储并处理大型的数据.HBase是一个开源的,分布式的,多版本的,面向列的存储模型.它存储的是 ...
- ETL工具的评价
评价项目 评价结果 备注 支持平台 SUN Solaris.HP-UX.IBM AIX.AS/400.OS/390.Sco UNIX.Linux.Windows 支持数据源 DB2.Informix ...