Yuebon.CodeGenerator.Core/CodeGenerator/CodeGenerator.cs

(开头部分) 35KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System.Reflection;
using Yuebon.Commons.Cache;
using Yuebon.Commons.Extensions;
using Yuebon.Commons.Options;

namespace Yuebon.Commons.CodeGenerator;

/// <summary>
/// 代码生成器。
/// <remarks>
/// 根据指定的实体域名空间生成Repositories和Services层的基础代码文件。
/// </remarks>
/// </summary>
public class CodeGenerator
{

    /// <summary>
    /// 代码生成器配置
    /// </summary>
    private static readonly CodeGenerateOption _option=new CodeGenerateOption();
    /// <summary>
    /// InputDto输入实体是不包含字段
    /// </summary>
    private static string inputDtoNoField= "DeleteMark,CreatorTime,CreatorUserId,CompanyId,DeptId,LastModifyTime,LastModifyUserId,DeleteTime,DeleteUserId,";
    /// <summary>
    /// 静态构造函数:从IoC容器读取配置参数,如果读取失败则会抛出ArgumentNullException异常
    /// </summary>
    static CodeGenerator()
    {
        
    }
    /// <summary>
    /// 
    /// </summary>
    /// <returns></returns>
    public SqlSugarClient GetDB()
    {
        YuebonCacheHelper yuebonCacheHelper = new();
        object connCode = yuebonCacheHelper.Get("CodeGeneratorDbConn");
        string dbTypeCache = yuebonCacheHelper.Get("CodeGeneratorDbType").ToString();
        ConnectionConfig config = new()
        {
            ConfigId = "codedb",
            ConnectionString = connCode.ToString(),
            DbType = (SqlSugar.DbType)dbTypeCache.ToInt(),
            IsAutoCloseConnection = true
        };
       return new SqlSugarClient(config);
    }

    /// <summary>
    /// 代码生成器入口方法
    /// </summary>
    /// <param name="baseNamespace"></param>
    /// <param name="tableList">要生成代码的表</param>
    /// <param name="replaceTableNameStr">要删除表名称的字符</param>
    /// <param name="ifExsitedCovered">是否替换现有文件,为true时替换</param>
    public static void Generate(string baseNamespace, string tableList, string replaceTableNameStr,bool ifExsitedCovered = false)
    {
        _option.DtosNamespace = baseNamespace + ".Dtos";
后面还有 676 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。