NET+EF+MVC如何生成数据库表实体时自动加上字段说明生成字段注释
我们在用NET+EF+MVC框架开发的时候,用微软提供的EF框架(笔者用的EF6),在从数据库更新实体模型时没有自动生成表字段和表说明,这个开发带来极大的隐患,本来用PD设计数据库架构时每个字段是带注释的,团队开发时因为没有生成带注释的字段说明,会给团队成员带来开发效率低下等系列问题,本文笔者详细介绍一下VS2015/2017/2019中从数据库更新实体模型时自动加上数据库表字段注释(如果在开发前用第三方工具如EF_Core_Power_Tools生成实体带注释的当然也可以,不在本文讨论之列)
本文操作,不需要下载任何文件,只需要按笔者步聚操作即可。
第一步:打开你的项目,找到实体项目类,在Model.tt文件(看你实际应用的名称)添加一个方法,该方法可以读取数据库中的字段说明,找到public string Property(EdmProperty edmProperty)这个方法,将下面代码添加到这个方法的下面
public string GetRemark(EdmProperty edmProperty){
var tableName = edmProperty.DeclaringType.Name;
var colName=_code.Escape(edmProperty);
string sql = string.Format(@"SELECT 字段说明=isnull(props.[value],'') FROM syscolumns cols inner join sysobjects objs on cols.id= objs.id and objs.xtype='U' and objs.name<>'dtproperties' left join sys.extended_properties props on cols.id=props.major_id and cols.colid=props.minor_id where objs.name='{0}' and cols.name='{1}'",tableName,colName);
string sqlcon = "Data Source=.;User ID=sa;Password=123456;Initial Catalog=gpt";
object remark=new object();
using(System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(sqlcon)){
conn.Open();
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(sql, conn);
remark =cmd.ExecuteScalar();
}
return remark+"";
}
第二步:按下面提示修改Model.tt文件,搜索 <#=codeStringGenerator.Property(edmProperty)#> 这行代码,在这行代码上方添加如下代码
/// <summary>
/// <#=codeStringGenerator.GetRemark(edmProperty)#>
/// </summary>
第三步:添加成功后,保存Model.tt文件,保存的同时你所有的数据库实体文件都自动加上注释了。
版权声明:
作者: freeclashnode
链接: https://www.freeclashnode.com/news/article-2607.htm
来源: FreeClashNode
文章版权归作者所有,未经允许请勿转载。
热门文章
- 12月18日|18.1M/S,SSR/Clash/V2ray/Shadowrocket免费节点订阅链接每天更新
- 1月10日|22M/S,Shadowrocket/Clash/SSR/V2ray免费节点订阅链接每天更新
- 1月2日|22.9M/S,SSR/Shadowrocket/Clash/V2ray免费节点订阅链接每天更新
- 12月25日|18.4M/S,Shadowrocket/SSR/Clash/V2ray免费节点订阅链接每天更新
- 12月19日|22M/S,V2ray/Shadowrocket/SSR/Clash免费节点订阅链接每天更新
- 1月1日|19.9M/S,SSR/Shadowrocket/V2ray/Clash免费节点订阅链接每天更新
- 12月20日|19.6M/S,V2ray/Clash/Shadowrocket/SSR免费节点订阅链接每天更新
- 12月31日|18.9M/S,Shadowrocket/SSR/Clash/V2ray免费节点订阅链接每天更新
- 12月28日|18.5M/S,V2ray/SSR/Shadowrocket/Clash免费节点订阅链接每天更新
- 1月9日|21.6M/S,Clash/SSR/Shadowrocket/V2ray免费节点订阅链接每天更新
最新文章
- 1月16日|22.6M/S,SSR/V2ray/Clash(小猫咪)免费节点订阅链接每天更新
- 1月15日|22.7M/S,V2ray/Clash(小猫咪)/SSR免费节点订阅链接每天更新
- 1月14日|21.2M/S,SSR/Shadowrocket/V2ray/Clash免费节点订阅链接每天更新
- 1月13日|18M/S,Shadowrocket/SSR/V2ray/Clash免费节点订阅链接每天更新
- 1月12日|19.6M/S,SSR/Shadowrocket/Clash/V2ray免费节点订阅链接每天更新
- 1月11日|18.5M/S,SSR/V2ray/Clash/Shadowrocket免费节点订阅链接每天更新
- 1月10日|22M/S,Shadowrocket/Clash/SSR/V2ray免费节点订阅链接每天更新
- 1月9日|21.6M/S,Clash/SSR/Shadowrocket/V2ray免费节点订阅链接每天更新
- 1月8日|18.7M/S,V2ray/SSR/Shadowrocket/Clash免费节点订阅链接每天更新
- 1月7日|22.3M/S,Shadowrocket/Clash/V2ray/SSR免费节点订阅链接每天更新