使用T4模板为EF框架添加实体根据数据库自动生成字段注释的功能

在以往的开发过程当中,我会经常选择EF框架作为底层数据结构,EF为我们提供了很好的ado.net数据访问机制,他覆盖了数据链接,linq等多方面内容,而且当我们使用数据库优先或者code first的时候都体现出明显的优势。

  1. 一键生成实体,免除手写model的烦恼。
  2. 实时更新数据结构,使数据库与model保持高度一致。
  3. 提供多种底层数据的访问方法。
  4. 优雅的语法,对于我这种喜爱偷懒的程序猿是一大福音。

然而entity framework在vs中生成的.edmx文件,会导致摘要(说明)为空的bug,具体bug信息为“没有元数据文档可用。”,导致我们表名打点去字段时,无法预知字段代表的含义,这在开发当中也是比较致命的,因为开发人员只能靠经验和推测判断,表、字段的含义,而不能直观的第一时间知道他们的用途,给开发带来了很多的不便。

 

网络上面有一个解决方法如下:

http://www.cnblogs.com/stone_w/archive/2012/10/25/2738345.html

不过我试了下没解决太麻烦了 而且一旦EF要重新生成又的重新弄。

后来我查询 了一下资料,可以运用T4模板来解决这个问题。

废话不啰嗦,开始:

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

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

20140102145350

 

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

20140102145732

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

20140102145922

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

20140102155409

 

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

20140102152712

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

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

加入的位置如图:

20140102155004

 

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

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

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

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

20140102160700

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

20140102161250

 

本文转载至:http://jeffblog.sinaapp.com/archives/501 

转载于:https://www.cnblogs.com/dazhuangtage/p/5239598.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值