PDMan SqlSugar模板

本文介绍了一个使用SqlSugar ORM框架自动生成C#实体类的过程。该过程包括了如何根据数据库表结构动态创建实体类,并为每个字段添加相应的属性及SugarColumn特性。此外,还展示了如何自动生成构造函数及ToString方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

using System;
using System.Collections.Generic;
using SqlSugar;

$blankline
{{
    var today=new Date();
    var fullYear=today.getFullYear();
    var month=today.getMonth() + 1;
    var days=today.getDate();
    var sqlSugartable='[SugarTable("{{=it.entity.defKey}}", TableDescription = "{{=it.func.join(it.entity.defName,it.entity.comment,';')}}")]';
    
    var pkVarName = "undefinedId";
    var pkDataType = "String";
    it.entity.fields.forEach(function(field){
        if(field.primaryKey){
            pkVarName = it.func.camel(field.defKey,false);
            pkDataType = field["type"];
            return;
        }
    });
    /*
    var defKeyArray=it.entity.fields.map(t=>+t.defKey+'\":this.'+it.func.camel(t.defKey,true));
    */
    var pkgName = it.entity.env.base.nameSpace;
    var beanClass = it.entity.env.base.codeRoot;
    var beanVarName = beanClass.charAt(0).toLowerCase()+beanClass.slice(1);
    var serviceClass = beanClass+'Service';
    var serviceVarName= beanVarName+'Service';
}}


/*
 * @author : 
 * @date : {{=fullYear}}-{{=month}}-{{=days}}
 * @desc : {{=it.func.join(it.entity.defName,it.entity.comment,'-')}}
 */
namespace {{=pkgName}}
{
    /// <summary>
    /// {{=it.func.join(it.entity.defName,it.entity.comment,';')}}
    /// </summary>
    {{=sqlSugartable}}
    public class {{=it.entity.defKey}}
    {
        {{~it.entity.fields:field:index}}
        /// <summary>
        /// {{=it.func.join(field.defName,field.comment,';')}}
        /// </summary>
        {{? field.primaryKey }}
        [SugarColumn(ColumnName="{{=field.defKey}}",IsIdentity = true, IsPrimaryKey = true)]
        {{?}}
        {{?  !field.primaryKey }}
        [SugarColumn(ColumnName="{{=field.defKey}}")]
        {{?}}
        public {{=field.type}} {{=it.func.camel(field.defKey,true)}}{ get; set; }
        $blankline
        {{~}}
    
    
        public override string ToString()
        {
            return $"{{=it.entity.fields.map(t=>{let s= t.defKey+':{this.'+it.func.camel(t.defKey,true); 
            /*if(t.type!="string"){
                s+='.ToString()';
                }   */
            s +='}';
            return s;
            }).join(',')}}";
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值