mvc实用架构设计(三)ef-code first(3):使用t4模板生成相似代(5)
81 configurations.Add(this); 82 } 83 } 84 } 85 <#+
86 return this.GenerationEnvironment.ToString(); 87 } 88 }
89 #> 生成模板调用方 EntityCodeScript.tt 定义 1 <#@ template language=\ 2 <#@ output extension=\
3 <#@ Assembly Name=\ 4 <#@ Assembly
Name=\GMF.Component.Tools.dll\
5 <#@ import namespace=\ 6 <#@ Import Namespace=\ 7 <#@ Import Namespace=\ 8 <#@ import namespace=\ 9 <#@ Import
Namespace=\10 <#@ Import Namespace=\
#>
11 <#@ Import
Namespace=\12 <#@ include file=\13 <#@ include
file=\14 <#
15 string currentPath =
Path.GetDirectoryName(Host.TemplateFile); 16 string projectPath =currentPath.Substring(0, currentPath.IndexOf(@\
17 string solutionPath = currentPath.Substring(0, currentPath.IndexOf(@\18
19 string modelFile= Path.Combine(solutionPath, @\Models.dll\
20 byte[] fileData= File.ReadAllBytes(modelFile); 21 Assembly assembly = Assembly.Load(fileData); 22 IEnumerable<Type> modelTypes = assembly.GetTypes().Where(m => typeof(Entity).IsAssignableFrom(m)
&& !m.IsAbstract);
23 foreach(Type modelType in modelTypes) 24 {
25 T4ModelInfo model = new T4ModelInfo(modelType); 26 //实体映射类
27 EntityConfigurationTemplate config = new EntityConfigurationTemplate(model); 28 string path =
string.Format(@\29 config.Output.Encoding = Encoding.UTF8; 30 config.RenderToFile(Path.Combine(path, config.FileName)); 31 }
32 #> 调用方通过反射从业务实体程序集
GMF.Demo.Core.Models.dll 中获取所有基类为 Entity 的并且不是抽象类的实体类型信息,再调用模板逐个生成实体配置类文件。 例如,生成的登录记录信息(LoginLog)的映射文件 LoginLogConfiguration.generated.cs 如下: 1 //------------------------------------------------------------------------------
2 // <auto-generated>
3 // 此代码由工具生成。
4 // 对此文件的更改可能会导致不正确的行为,并且如果
5 // 重新生成代码,这些更改将会丢失。
6 // 如存在本生成代码外的新需求,请在相同命名空间下创建同名分部类实现
LoginLogConfigurationAppend 分部方法。 7 // </auto-generated> 8 //
9 // <copyright
file=\10 // Copyright(c)2013 GMFCN.All rights reserved.
11 // CLR版本:4.0.30319.239 12 // 开发组织:郭明锋@中国 13 // 公司网站:http://www.gmfcn.net 14 // 所属工程:GMF.Demo.Core.Data 15 // 生成时间:2013-06-16 17:45 16 // </copyright> 17
//------------------------------------------------------------------------------
18
19 using System;
20 using System.Data.Entity.ModelConfiguration; 21 using
System.Data.Entity.ModelConfiguration.Configuration; 22
23 using GMF.Component.Data; 24 using GMF.Demo.Core.Models; 25 26
27 namespace GMF.Demo.Core.Data.Configurations 28 {
29 /// <summary>
30 /// 实体类-数据表映射——登录记录信息 31 /// </summary>
32 internal partial class LoginLogConfiguration : EntityTypeConfiguration<LoginLog>, IEntityMapper 33 {
34 /// <summary>
35 /// 实体类-数据表映射构造函数——登录记录信息
36 /// </summary>
…… 此处隐藏:549字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [实用模板]第八章:法国“新浪潮”与“左岸派”
- [实用模板]2021年北京上半年临床医学检验技师生物
- [实用模板]SAP GUI 7.10客户端安装配置文档
- [实用模板]2001年临床执业医师资格考试综合笔试试
- [实用模板]36机场工作实用英语词汇总结
- [实用模板](一)社会保险稽核通知书
- [实用模板]安全教育主题班会材料
- [实用模板]濉溪县春季呼吸道传染病防控应急演练方
- [实用模板]长沙房地产市场周报(1.30-2.3)
- [实用模板]六年级数学上册典中点 - 图文
- [实用模板]C程序设计(红皮书)习题官方参考答案
- [实用模板]中国证监会第一届创业板发行审核委员会
- [实用模板]桥梁工程复习题
- [实用模板]2011学而思数学及答案
- [实用模板]初中病句修改专项练习
- [实用模板]监理学习知识1 - 图文
- [实用模板]小机灵杯四年级试题
- [实用模板]国贸专业毕业论文模板
- [实用模板]教育学概论考试练习题-判断题4
- [实用模板]2015届高考英语一轮复习精品资料(译林
- 00Nkmhe_市场营销学工商管理_电子商务_
- 事业单位考试法律常识
- 诚信教育实施方案
- 吉大小天鹅食品安全检测箱方案(高中低
- 房地产销售培训资料
- 高一地理必修1复习提纲
- 新概念英语第二册lesson_1_练习题
- 证券公司内部培训资料
- 小学英语时间介词专项练习
- 新世纪英语专业综合教程(第二版)第1册U
- 【新课标】浙教版最新2018年八年级数学
- 工程建设管理纲要
- 外研版 必修一Module 4 A Social Surve
- Adobe认证考试 AE复习资料
- 基于H.264AVC与AVS标准的帧内预测技术
- 《食品检验机构资质认定管理办法》(质
- ABB变频器培训课件
- (完整版)小学说明文阅读练习题及答案
- 深思洛克(SenseLock) 深思IV,深思4,深
- 弟子规全文带拼音




