解决EF没有生成字段和表说明

项目中使用了EF框架,使用的是Database-First方式,因为数据库已经存在,所以采用Database-First方式,ef生成实体类的时候,发现微软没有自动生成表字段和表说明,在网上找了些资料,由于都不太全,倒腾了近2个小时,所以根据网上的帖子为基础,写得更详细一点,让初学者更容易明白和少走弯路。网上也有一些自动生成的软件,可以自动生成,但是更新数据库需要重新生成,有点麻烦,所有根据T4模板解决

第一步:

下载GetSummery.ttinclude文件,点击下载,GetSummery.ttinclude是模板文件,为了实现EF框架添加数据库自动生成实体注释。

 

第二步:

把GetSummery.ttinclude文件放到Model1.edmx同一级目录,当然也可以放到其他路径,为了方便放到同一级目录。

解决EF没有生成字段和表说明

 

第三步:打开GetSummery.ttinclude文件,修改GetSummery.ttinclude连接数据库的字符串改为"ConnStr",prioviderName属性必须要有哦。

解决EF没有生成字段和表说明

解决EF没有生成字段和表说明

 

第四步:打开EF项目文件所在的tt文件

解决EF没有生成字段和表说明

 

第五步:在tt头部添加 <#@ include file="GetSummery.ttinclude" #>

解决EF没有生成字段和表说明

 

第六步:加载自定义TT文件用来获取数据库表备注和字段备注说明

在TT文件里搜索:<#=codeStringGenerator.UsingDirectives(inHeader: false)#>

 

把代码添加<#=codeStringGenerator.UsingDirectives(inHeader: false)#>到下面 

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

 

如图所示:

解决EF没有生成字段和表说明

 

第七步:第二次搜索:<#=codeStringGenerator.Property(edmProperty)#>, 在它上方插入代码:

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

 

如图所示:

解决EF没有生成字段和表说明

 

第八步:保存TT文件,它会自动更新数据库里的各个实体

效果如图:

解决EF没有生成字段和表说明

 

操作完毕!

亲测可以用希望帮到更多的人。

来源:https://blog.****.net/yaozhiwei1019/article/details/53197334