zoukankan      html  css  js  c++  java
  • 使用T4模板为EF框架添加实体根据数据库自动生成字段注释的功能

    转自http://jeffblog.sinaapp.com/archives/501

    首先我们先下载一个文件GetSummery,这里我提供了,大家可以直接下载:下载

    我们在数据库建立一个表,并给表中字段添加说明,如图所示:

    20140102145350

    然后,我们创建一个解决方案,选择类库

    20140102145732

    继续,添加实体数据模型,具体步骤我就不演示了,大家设置好数据库,直接生成就可以了。

    20140102145922

    现在我们来看一下所生成的实体,大家可以看到并没有什么字段注释说明:

    20140102155409

    接来下就把我们下载下来的文件解压,将解压出来的文件放入解决方案中,如图所示:

    20140102152712

    接下来,我们修改下web.config,操作很简单,添加一个连接字符串:

    <add name="MyConn" connectionString="data source=.;initial catalog=db;user id=sa;password=xxx;" providerName="System.Data.SqlClient" />
    <!-- 具体连接与EF的连接保持一致-->

    然后我们修改model.tt,在顶部位置加入代码:

    加入的位置如图:

    20140102155004

    紧接着在模板中查找代码片段<#=codeStringGenerator.UsingDirectives(inHeader: false)#>的位置,在代码下方插入:

    /// <summary>
    /// <#= getTableSummery(code.Escape(entity)) #>
    /// </summary>

    继续查找代码片段:<#=codeStringGenerator.Property(edmProperty)#>的位置,在代码上方插入:

    /// <summary>
    /// <#= getColumnSummery(code.Escape(entity),code.Escape(edmProperty)) #>
    /// </summary>

    注意:前面的注释符号///不能少

    这里放出一个我的截图,方便大家对照行号,确定大概位置:

    20140102160700

    到这里,就基本上完成了,去刷新一下你的实体模型edmx文件,你会发现字段的注释都自动加上去了。

    20140102161250

  • 相关阅读:
    Python类的继承(进阶5)
    面向对象编程基础(进阶4)
    Python模块(进阶3)
    Python函数式编程(进阶2)
    python多线程
    Ternary Search Tree Java实现
    Trie和Ternary Search Tree介绍
    索引时利用K-邻近算法过滤重复歌曲
    Sql排名和分组排名
    Lucene和jackson冲突
  • 原文地址:https://www.cnblogs.com/varorbc/p/4724151.html
Copyright © 2011-2022 走看看