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

本文介绍了如何在升级EF4的TT模版到EF5后,为Poco实体类手动添加注释。通过解析EDMX文件的XML注释内容,实现类和属性的自动注释。首先,在WriteHeader之后添加代码以生成类注释,然后在处理简单属性的循环中添加代码以生成属性注释。注意,这种方法依赖于EDMX文件中的数据库注释,如果没有注释,则无法添加。
摘要由CSDN通过智能技术生成

嗨,没法说,EF4的TT模版加上注释后,升级到EF5的TT模版后,注释就不通用了,所以,还得再研究一下,然后把操作方法再分享出来,没辙的微软!

T4模版可能有些凌乱,这在T5模版里有了不错的改进,但我希望解决的问题在T5里并没有得到解决,那就是TT类文件自动得到EDMX模型的注释问题,可能大微的开发人员不需要实体注释吧,嗨!

1 先加上类注释

找到这行代码WriteHeader(codeStringGenerator, fileManager);

在它下面加上我们的代码:

48304ba5e6f9fe08f3fa1abda7d326ab.png

string summary=string.Empty;

foreach (var entity in typeMapper.GetItemsToGenerate(itemCollection))

{

fileManager.StartNewFile(entity.Name + ".cs");

BeginNamespace(code);

if(entity.Documentation !=null && entity.Documentation.Summary!=null)

summary=entity.Documentation.Summary;

else

summary=entity.Name;

#>

48304ba5e6f9fe08f3fa1abda7d326ab.png

///

///

///

同时保存TT模版文件,这时类的注释就已经加上了

KQAAAABJRU5ErkJggg==

2 再加上属性注释

找到这行代码   foreach (var edmProperty in simpleProperties)

在它下面加上我们的代码

48304ba5e6f9fe08f3fa1abda7d326ab.png

foreach (var edmProperty in simpleProperties)

{

if (edmProperty.Documentation != null && edmProperty.Documentation.Summary != null)

{

summary=edmProperty.Documentation.Summary;

}

else

{

summary="";

}

48304ba5e6f9fe08f3fa1abda7d326ab.png

#>

///

///

///

同时保存TT模版,这时我们的类属性注释就加好了

+iFrn+6kjJcNsO7klWeZrmlT2i+QZWBpgtU0iGXkuHFvrxhgma5W3WfJWvrbhDoGRUeVqbBsVmj5VBRMUmzfNuIAaxDDBrJpAMY7EfVjiM9cREiUI3VKm9FRXWjEc7Jib8aZrTgCm0y6K2x4QnJmDuXFwyXtTrWyGBGABmBV4YPx9FFgcGYgCYDf8fq8Vk01dbkAEAAAAASUVORK5CYII=

事实上,这TT模版加注释的原理就是通过读EDMX文件(是个XML文件)的相关注释内容来为POCO实体类加注释的,如果EDMX里没有注释,这个数据库注释也无法加上来,相关数据库与EDMX注释同步文章,可以看这篇文章EF架构~将数据库注释添加导入到模型实体类中。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值