ABP实战第二课:创建实体类

Posted hh8888-log

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ABP实战第二课:创建实体类相关的知识,希望对你有一定的参考价值。

首先在我的本地数据库已经有很多表了,表中也有一大堆的数据,这时候我要在ABP中添加这些表的实体类(这里我通过动软代码生成器生成实体类,我也是第一次使用这个工具):

第一步:下载动软代码生成器:http://www.maticsoft.com/download.aspx

技术图片

 

 

 

 

第二步:下载完成后,解压压缩包,双击msi文件进行安装

技术图片

 

 

 

 

第三步:安装完成后,打开软件,鼠标右击服务器,添加服务器,根据自身数据库类型选择,我这里选择的是SQL Server,我连接的是自己本地的数据库,所有在服务器名称中填的是(local),注意这里一定要加括号,其他的保持默认即可,然后点击确定(注意:我安装的SQL Server 是2017的,所以会有弹窗弹出提示不是选择的服务器类型,这个弹窗不需要理会,照常添加就行,不影响的)。添加完成后,等待几秒中,等数据库中的所有表都加载完成后,就能在左边看到你本地的数据库了

技术图片

 

 

 技术图片

 

 

 技术图片

 

 

 

第四步:定义实体类的模板Entity.cmt,鼠标右击右边的代码模板---新建--模板,将新建模板命名为:Entity.cmt,然后鼠标右击Entity.cmt---编辑查看,写入如下代码后保存

技术图片

 

 

<#@ template language="c#" HostSpecific="True" #>
<#@ output extension= ".cs" #>
<#
    TableHost host = (TableHost)(Host);
    host.Fieldlist.Sort(CodeCommon.CompareByintOrder);
#>
using System;
using Abp.Domain.Entities;

namespace Noah.ChargeStation.Entities<# if( host.Folder.Length > 0) {#>.<#= host.Folder #><# } #>
{
    <# if( host.TableDescription.Length > 0) {#>
     //<#= host.TableDescription #>
    <# } #>
    public class <#= host.GetModelClass(host.TableName) #>:Entity
    {
    
          <# foreach (ColumnInfo c in host.Fieldlist)
        {  if(c.ColumnName!="Id")
         {
             #>/// <summary>
        /// <#= string.IsNullOrEmpty(c.Description)  ? c.ColumnName : c.Description #>
        /// </summary>
        public virtual <#= CodeCommon.DbTypeToCS(c.TypeName) #><# if(c.Nullable) {  #><#if(CodeCommon.isValueType(CodeCommon.DbTypeToCS(c.TypeName
))){ #>?<# }#><# }#> <#= c.ColumnName #>
        {
            get; 
            set; 
        } 
         
           
        <# }} #>
        public <#= host.GetModelClass(host.TableName) #>()
        {
        
        }
   
    }
    
}

 

 

技术图片

 

 

第五步:选择一个数据库,然后右击---模板代码批量生成---选择好后,点击导出

技术图片

 

 技术图片

 

 

 

第六步:导出成功后,就能在输出路径下看到一个名为Entity的文件夹,里面就是所有输出的实体类代码,然后在VS中,在Core项目下,创建一个Entitys的文件夹专门放置实体类,并把刚刚生成的cs代码添加到该文件夹下,到此为止,我们的数据库表的实体类就完全生成了

技术图片

 

 

以上是关于ABP实战第二课:创建实体类的主要内容,如果未能解决你的问题,请参考以下文章

ABP开发手记6 - 领域层创建实体

(译)ABP之Entities

4.windows-oracle实战第二课 -表的查询

第二课:创建开发环境

3.windows-oracle实战第二课 -表的管理

abp 修改abp.zero的实体映射类,使生成的表和字段为大写状态