NFine框架的T4模板
更新时间:2024-05-25 06:54:01 阅读量: 综合文库 文档下载
- Nfine 框架推荐度:
- 相关推荐
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=\<#@ output extension=\
<#@ assembly name=\<#@ assembly name=\
<#@ assembly name=\<#@ assembly name=\<#@ import namespace=\<#@ import namespace=\<#@ import namespace=\<#@ import namespace=\
<#@ import namespace=\
<#@ import namespace=\<#@ import namespace=\
<#@ include file=\ #>
//------------------------------------------------------------------------------ // <博客园-枫伶忆 http://www.cnblogs.com/fenglingyi/> // 此代码由T4模板自动生成
// 生成时间 <#=DateTime.Now.ToString(\枫伶忆
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
// QQ:549387177
// <博客园-枫伶忆 http://www.cnblogs.com/fenglingyi/> //------------------------------------------------------------------------------ <#
var tableName=config.TableName.Replace(\ #>
using System;
namespace NFine.Domain.Entity.SystemManage {
///
/// <#=tableName#> ///
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=\<#@ output extension=\
<#@ assembly name=\<#@ assembly name=\
<#@ assembly name=\<#@ assembly name=\<#@ import namespace=\<#@ import namespace=\<#@ import namespace=\<#@ import namespace=\
<#@ import namespace=\
<#@ import namespace=\<#@ import namespace=\
<#@ include file=\ #> //------------------------------------------------------------------------------ // <博客园-枫伶忆 http://www.cnblogs.com/fenglingyi/> // 此代码由T4模板自动生成
// 生成时间 <#=DateTime.Now.ToString(\枫伶忆
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
// QQ:549387177
// <博客园-枫伶忆 http://www.cnblogs.com/fenglingyi/> //------------------------------------------------------------------------------ <#
var tableName=config.TableName.Replace(\ var entity=config.TableName.Replace(\ #>
using NFine.Data;
using NFine.Domain.Entity.SystemManage; using System;
using System.Collections.Generic; using System.Linq; using System.Text;
using System.Threading.Tasks;
namespace NFine.Domain.IRepository.SystemManage {
///
/// <#=tableName#> ///
public interface I<#=tableName#>:IRepositoryBase<<#=entity#>> {
} }
复制代码
回到顶部
4.NFine.Repository
复制代码
<#@ template debug=\<#@ output extension=\
<#@ assembly name=\<#@ assembly name=\
<#@ assembly name=\<#@ assembly name=\<#@ import namespace=\<#@ import namespace=\<#@ import namespace=\<#@ import namespace=\
<#@ import namespace=\
<#@ import namespace=\<#@ import namespace=\
<#@ include file=\ #> //------------------------------------------------------------------------------
// <博客园-枫伶忆 http://www.cnblogs.com/fenglingyi/> // 此代码由T4模板自动生成
// 生成时间 <#=DateTime.Now.ToString(\枫伶忆
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
// QQ:549387177
// <博客园-枫伶忆 http://www.cnblogs.com/fenglingyi/> //------------------------------------------------------------------------------ <#
var tableName=config.TableName.Replace(\ var entity=config.TableName.Replace(\ #>
using NFine.Data;
using NFine.Domain.Entity.SystemManage;
using NFine.Domain.IRepository.SystemManage; using System;
using System.Collections.Generic; using System.Linq; using System.Text;
using System.Threading.Tasks;
namespace NFine.Repository.SystemManage {
///
/// <#=tableName#> ///
public class <#=tableName#>:RepositoryBase<<#=entity#>>,I<#=tableName#> {
} }
复制代码
回到顶部
5.NFine.Mapping 复制代码
<#@ template debug=\<#@ output extension=\
<#@ assembly name=\<#@ assembly name=\
<#@ assembly name=\<#@ assembly name=\<#@ import namespace=\<#@ import namespace=\<#@ import namespace=\<#@ import namespace=\
<#@ import namespace=\
<#@ import namespace=\<#@ import namespace=\
<#@ include file=\ #> //------------------------------------------------------------------------------ // <博客园-枫伶忆 http://www.cnblogs.com/fenglingyi/> // 此代码由T4模板自动生成
// 生成时间 <#=DateTime.Now.ToString(\枫伶忆
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
// QQ:549387177
// <博客园-枫伶忆 http://www.cnblogs.com/fenglingyi/> //------------------------------------------------------------------------------ <#
var dbTableName=config.TableName;
var tableName=config.TableName.Replace(\ var entity=config.TableName.Replace(\
var list= DbHelper.GetDbColumns(config.ConnectionString, config.TableName);
var pk = DbHelper.GetPrimaryKey(list); #>
using NFine.Domain.Entity.SystemManage; using System.Data.Entity.ModelConfiguration; namespace NFine.Mapping.SystemManage {
///
/// <#=tableName#> ///
public class <#=tableName#>:EntityTypeConfiguration<<#=entity#>> {
public <#=tableName#>() {
this.ToTable(\ this.HasKey(t=>t.<#=pk#>); } } }
复制代码
config.DbDatabase,
#endregion
#region GetPrimaryKey
public static string GetPrimaryKey(List
string primaryKey = string.Empty;
if (dbColumns!=null&&dbColumns.Count>0) {
foreach (var item in dbColumns) {
if (item.IsPrimaryKey==true) {
primaryKey = item.ColumnName; } } }
return primaryKey; }
#endregion }
#region DbTable ///
public sealed class DbTable {
///
public string TableName { get; set; } ///
/// 表的架构 ///
public string SchemaName { get; set; } ///
public int Rows { get; set; }
///
public bool HasPrimaryKey { get; set; }
}
#endregion
#region DbColumn ///
/// 表字段结构 ///
public sealed class DbColumn {
///
/// 字段ID ///
public int ColumnID { get; set; }
///
public bool IsPrimaryKey { get; set; }
///
/// 字段名称 ///
public string ColumnName { get; set; }
///
/// 字段类型 ///
public string ColumnType { get; set; }
///
/// 数据库类型对应的C#类型 ///
public string CSharpType {
get {
return SqlServerDbTypeMap.MapCsharpType(ColumnType); } }
///
///
public Type CommonType
{
get {
return SqlServerDbTypeMap.MapCommonType(ColumnType); } }
///
/// 字节长度 ///
public int ByteLength { get; set; }
///
/// 字符长度 ///
public int CharLength { get; set; }
///
public int Scale { get; set; }
///
public bool IsIdentity { get; set; }
///
public bool IsNullable { get; set; }
///
///
public string Remark { get; set; } }
#endregion
#region SqlServerDbTypeMap
public class SqlServerDbTypeMap {
public static string MapCsharpType(string dbtype)
{
if (string.IsNullOrEmpty(dbtype)) return dbtype; dbtype = dbtype.ToLower(); string csharpType = \ switch (dbtype) {
case \ case \ case \ case \ case \ case \ case \
case \ case \ case \ case \ case \
case \ case \ case \
case \ case \ case \
case \ case \
case \ case \ case \ case \
case \ case \ case \
case \ case \ case \ case \ default: csharpType = \ }
return csharpType; }
public static Type MapCommonType(string dbtype) {
if (string.IsNullOrEmpty(dbtype)) return Type.Missing.GetType(); dbtype = dbtype.ToLower();
Type commonType = typeof(object); switch (dbtype) {
case \ case \ case \ case \ case \ case \ case \
case \ case \ case \ case \ case \
case \ case \ case \
case \ case \ case \
case \ case \
case \ case \ case \
case \ case \ case \ case \
case \ case \ case \ case \ default: commonType = typeof(object); break; }
return commonType; } }
#endregion #>
<#+
public class config {
public static readonly string ConnectionString = \Source=(local);Initial Catalog=NFineBase;User ID=sa;Password=hjf19870810;\
public static readonly string DbDatabase = \ public static readonly string TableName = \ } #>
<#+
public class config {
public static readonly string ConnectionString = \Source=(local);Initial Catalog=NFineBase;User ID=sa;Password=hjf19870810;\
public static readonly string DbDatabase = \ public static readonly string TableName = \ } #>
正在阅读:
NFine框架的T4模板05-25
新人教版小学四年级语文下册第六单元教案01-14
国贸习题03-17
长沙市城市规划管理技术规定07-24
包装 外文翻译 外文文献 英文文献 包装对食品发展的影响12-14
2018模拟题1(语文)04-21
山东真又美制衣有限公司经营环境和竞争力研究报告(2022版)04-07
第2章民事法律关系习题及答案01-31
公司治理结构对公司发展的重要意义05-06
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 框架
- 模板
- NFine
- 基于单片机的汽车防盗报警系统的设计本科生毕业论文 - 图文
- 清洁机器人系统设计 - 图文
- 华师大辅修教学计划
- 11-050职业技能鉴定指导书-变电站值班员(2)-高级技师
- AQtime学习资料
- M6000设备业务开通配置实例
- 2016新北师大版七下第二章平行线的性质与判定书写训练
- 安全管理检查表
- 产前作业分析
- 灰库除尘喷雾抑尘改造方案
- 新教材八年级上册地理:第四章-中国的主要产业单元综合
- 企业存货管理中存在的问题及对策
- SQL Server数据库技术
- 固体制剂车间清洁验证
- 2018新苏教版小学数学1一年级下册(全册)教案
- (05)电脑使用情况的调查报告
- 工会经审工作考核办法
- 中考语文课外文言文考试必读120篇45承拙斋家传0518121【含答案】
- 数字地球导论
- 外出考察(参会)总结报告(样稿)