zoukankan      html  css  js  c++  java
  • EF生成实体自动添加数据库字段注释(GetSummery)

      我们在用EF从数据库生成模型的时候,默认实体类是没有注释的,但是我们已经在数据库字段添加说明了,能不能自动把注释也拿过来?

    答案是:能。

    那么我们开始

      首先随便开一个ASP.NET   MVC项目,我们添加ADO实体数据模型。添加完成后我们打开userinfo.cs(这里我的模型名称为userinfo)如图:

    双击打开后发现现在是没有注释的。

    然后下载此文件:GetSummery.ttinclude (https://pan.baidu.com/s/1vmQ3VrHfEAbntXP3TJhzhQ 提取码: oft9)

    嗯,现在下载完文件后把他解压后copy到和Model1.edmx同一目录下,如图:

    现在,在数据库表字段添加说明或者表说明(表说明映射到EF中就是类的注释),添加表说明代码如下:

    1 EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'注释的描述' ,@level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'要注释的表名'

    现在我们打开GetSummery.ttinclude文件

    找到 string ConnectionStringName = "MyConn"

    这是数据库连接名,在这里我改为string ConnectionStringName = "ConnStr"  

    然后在根目录下web.config文件<connectionStrings>节点下配置数据库连接(这个连接是GetSummery.ttinclude的数据库连接,并不是你自己的连接字符串,所以不要省略)

    1 <add name="ConnStr" connectionString="server=.;uid=sa;pwd=数据库密码;database=userinfo" providerName="Syste4m.Data.SqlClient"></add>

    配置后,关闭GetSummery.ttinclude。

    打开Model1.tt。

    在Model1.tt  上方添加 <#@ include file="GetSummery.ttinclude" #>,如图:

    继续,找到<#=codeStringGenerator.EntityClassOpening(entity)#> 在它上方添加

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

    如图:

    继续,找到<#=codeStringGenerator.Property(edmProperty)#> 在它上方添加

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

    如图:

    到此,我们ctrl+s 保存。然后打开我们的实体类 userinfo.cs  发现我们在数据库加的说明已经自动注释上去了。如图:

    如果我们在数据库更新了我们的注释说明,那么我们,在打开Moedl1.tt 文件,然后在ctrl+s保存一下类就更新了。

    谢谢!好了,该睡觉了。

    23:23:16

  • 相关阅读:
    EasyUI-datagrid-自动合并单元格(转)
    js中格式化时间字符串
    ext 3.2 tree 在IE10中点击事件失效的bug
    C#中修改Dll文件 (反编译后重新编译)
    GridView内容<br />换行
    使用Aspose.Words把 word转成图片
    判断移动设备访问自动跳转到移动版页面
    jquery mobile界面数据刷新
    Ubuntu16.04下安装Visual Studio Code
    npm 安装vue 报错Failed at the chromedriver@2.46.0 install script 'node install.js'
  • 原文地址:https://www.cnblogs.com/nevergiveup1115/p/10693389.html
Copyright © 2011-2022 走看看