分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
使用EF,采用DataBase 模式,实体类都是按照数据库的定义自动生成,我们似乎无法干预。如果要生成自定义的实体类,该怎么做呢?
思路是这样的:
1、我们要自定义生成的实体类,都是分部类(partial),目的是对EF生成的实体类进行扩充;
2、扩充部分,预先写好在模板里,自动生成
3、每个实体类,都进行扩充
实施方法:
1、给VS2012安装两个插件:
- Devart T4 Editor:为VS提供智能提示功能。
- T4 Toolbox:在生成多文件时很有用。
1)创建T4 Toolbox模板文件EntityTemplate.tt,作用是生成多个实体类文件
代码如下:
<#+// <copyright file="Entity.tt" company="cqxm">// Copyright © . All Rights Reserved.// </copyright>public class Entity : CSharpTemplate{ private string _className; public Entity(string className) { _className = className; } public override string TransformText() { base.TransformText();#>namespace testEF{ public partial class <#= _className #> : IEntity { public string _ID { get { return Id.ToString(); } } }}<#+ return this.GenerationEnvironment.ToString(); }}#>
2)创建T4模板文件EntityOutput.tt,调用前面写的EntityTemplate.tt,真正生成各种实体类文件
<#@ template debug="false" hostspecific="false" language="C#" #><#@ assembly name="System.Core" #><#@ import namespace="System.IO" #><#@ import namespace="System.Linq" #>