分享

EF5改模板tt文件对实体添加注释

 实力决定地位 2014-05-14

EF架构~为EF DbContext生成的实体添加注释(T5模板应用)

 


回到目录
 

相关文章系列
 
第八回  EF架构~将数据库注释添加导入到模型实体类中
 
第二十一回  EF架构~为EF DbContext生成的实体添加注释(T4模板应用)
 
第二十二回  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架构~将数据库注释添加导入到模型实体类中。
 
回到目录

 

 

分类: Entity Framework

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多