运用T4模板,产生代码。
<模型名称>.tt 文件代码概述
首先,代码使用内置指令指示文本模板处理引擎如何处理模板。 文本模板包括 .ttinclude 文件,此文件包含可有助于代码生成过程的实用工具类。 有关 .ttinclude 文件的更多信息,请参见实体框架实用工具 .ttinclude 文件。
格式如下:
<#@ template language="C#" debug="false" hostspecific="true"#>
<#@ include file="EF.Utility.CS.ttinclude"#>//必须包含改文件,否则无法自动产生edmx代码
<#@ output extension=".cs"#>
//解析entity实体
<# CodeGenerationTools code = new CodeGenerationTools(this);
MetadataLoader loader = new MetadataLoader(this);
CodeRegion region = new CodeRegion(this, 1);
MetadataTools ef = new MetadataTools(this);
string inputFile =this.Host.ResolvePath(@"..\\Model\\SMS.edmx");
EdmItemCollection ItemCollection = loader.CreateEdmItemCollection(inputFile);
string namespaceName = code.VsNamespaceSuggestion();
EntityFrameworkTemplateFileManager fileManager = EntityFrameworkTemplateFileManager.Create(this);
#>
//生成类
using Model;
using IDAL;
namespace DAL
{
<#
foreach(EntityType entity in ItemCollection.GetItems<EntityType>().OrderBy(e=>e.Name))
{
#>
public partial class <#=entity.Name#>Repository : BaseRepository<<#=entity.Name#>>, I<#=entity.Name#>_Repository
{
}
<#}#>
}