【转】EF架构~为EF DbContext生成的实体添加注释(T5模板应用)
相关文章系列
嗨,没法说,EF4的TT模版加上注释后,升级到EF5的TT模版后,注释就不通用了,所以,还得再研究一下,然后把操作方法再分享出来,没辙的微软!
T4模版可能有些凌乱,这在T5模版里有了不错的改进,但我希望解决的问题在T5里并没有得到解决,那就是TT类文件自动得到EDMX模型的注释问题,可能大微的开发人员不需要实体注释吧,嗨!
1 先加上类注释
找到这行代码WriteHeader(codeStringGenerator, fileManager);
在它下面加上我们的代码:
string summary=string.Empty; foreach (var entity in typeMapper.GetItemsToGenerate<EntityType>(itemCollection)) { fileManager.StartNewFile(entity.Name + ".cs"); BeginNamespace(code); if(entity.Documentation !=null && entity.Documentation.Summary!=null) summary=entity.Documentation.Summary; else summary=entity.Name; #>
<#=codeStringGenerator.UsingDirectives(inHeader: false)#> /// <summary> /// <#=summary#> /// </summary> <#=codeStringGenerator.EntityClassOpening(entity)#>
同时保存TT模版文件,这时类的注释就已经加上了
2 再加上属性注释
找到这行代码 foreach (var edmProperty in simpleProperties)
在它下面加上我们的代码
foreach (var edmProperty in simpleProperties) { if (edmProperty.Documentation != null && edmProperty.Documentation.Summary != null) { summary=edmProperty.Documentation.Summary; } else { summary=""; }
#> /// <summary> /// <#=summary#> /// </summary> <#=codeStringGenerator.Property(edmProperty)#>
同时保存TT模版,这时我们的类属性注释就加好了
事实上,这TT模版加注释的原理就是通过读EDMX文件(是个XML文件)的相关注释内容来为POCO实体类加注释的,如果EDMX里没有注释,这个数据库注释也无法加上来,相关数据库与EDMX注释同步文章,可以看这篇文章EF架构~将数据库注释添加导入到模型实体类中。
==================================原文链接===此文章由博客转发插件转发==================================
- 学习本是一个不断抄袭、模仿、练习、创新的过程。
- 虽然,园中已有本人无法超越的同主题博文,为什么还是要写。
- 对于自己,博文只是总结。在总结的过程发现问题,解决问题。
- 对于他人,在此过程如果还能附带帮助他人,那就再好不过了。
- 由于博主能力有限,文中可能存在描述不正确,欢迎指正、补充!
- 感谢您的阅读。如果文章对您有用,那么请轻轻点个赞,以资鼓励。
- 工控物联Q群:995475200