- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
NFine框架的T4模板分析
NFine框架的T4模板
阅读目录
1.前言
2.NFine.Domain.Entity
3.NFine.Domain.IRepository
4.NFine.Repository
5.NFine.Mapping
6.NFine.Application
7.DbHelper.ttinclude
8.ModelAuto.ttinclude
模板在此下载。
回到顶部
1.前言
前段时间在网上看到一个开源框架很好的。开源:ASP.NET MVC+EF6+Bootstrap开发框架,写代码就是比较比较麻烦,分层比较多,对于我这种偷懒的人就想到了写一个T4模板。不了解框架的可以先去看一下这个开源的框架。
一起有5个层,也就是意味着每次数据库添加一张表,就需要写这5个类。
回到顶部
2.NFine.Domain.Entity
复制代码
#@ template debug=false hostspecific=false language=C# #
#@ output extension=.cs #
#@ assembly name=System.Core.dll #
#@ assembly name=System.Data.dll #
#@ assembly name=System.Data.DataSetExtensions.dll #
#@ assembly name=System.Xml.dll #
#@ import namespace=System #
#@ import namespace=System.Xml #
#@ import namespace=System.Linq #
#@ import namespace=System.Data #
#@ import namespace=System.Data.SqlClient #
#@ import namespace=System.Collections.Generic #
#@ import namespace=System.IO #
#@ include file=$(ProjectDir)DbHelper.ttinclude #
//------------------------------------------------------------------------------
// 博客园-枫伶忆 /fenglingyi/
// 此代码由T4模板自动生成
// 生成时间 #=DateTime.Now.ToString(yyyy-MM-dd HH:mm:ss)# by 枫伶忆
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
// QQ:549387177
// 博客园-枫伶忆 /fenglingyi/
//------------------------------------------------------------------------------
#
var tableName=config.TableName.Replace(Sys_,)+Entity;
#
using System;
namespace NFine.Domain.Entity.SystemManage
{
/// summary
/// #=tableName#
/// /summary
public class #=tableName#:IEntity#=tableName#, ICreationAudited, IDeleteAudited, IModificationAudited
{
# foreach(DbColumn column in DbHelper.GetDbColumns(config.ConnectionString, config.DbDatabase, config.TableName)){#
public #= column.CSharpType## if(column.CommonType.IsValueType column.IsNullable){#?#}# #=column.ColumnName# { get; set; }
#}#
}
}
复制代码
回到顶部
3.NFine.Domain.IRepository
复制代码
#@ template debug=false hostspecific=false language=C# #
#@ output extension=.cs #
#@ assembly name=System.Cor
文档评论(0)