Modules/Framework/Gardener.SqlSugar/SqlSugarSetup.cs

(开头部分) 18KB

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

using Furion;
using Furion.Logging.Extensions;
using Gardener.Authentication.Dtos;
using Gardener.Authorization.Core;
using Gardener.Base;
using Gardener.Common;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using SqlSugar;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq.Dynamic.Core;
using System.Linq.Expressions;
using System.Reflection;

namespace Gardener.Sugar;
/// <summary>
/// SqlSugar
/// </summary>
public static class SqlSugarSetup
{
    /// <summary>
    /// SqlsugarScope的配置
    /// Scope必须用单例注入
    /// 不可以用Action委托注入
    /// </summary>
    /// <param name="services"></param>
    public static void SqlSugarScopeConfigure(this IServiceCollection services)
    {
        //数据库序号从0开始,默认数据库为0
        var config = App.GetOptions<ConnectionStringsOptions>();
        var defaultDbSetting = App.GetOptions<DefaultDbSettingsOptions>();

        #region DB List
        //默认数据库
        List<DbConfig> dbList = new List<DbConfig>();

        //Microsoft.EntityFrameworkCore.SqlServer
        var efDbProvider = defaultDbSetting.DbProvider;
        var defaultDbNumber = "0";
        if (config.DefaultDbNumber != null)
        {
            defaultDbNumber = config.DefaultDbNumber;
        }
        DbConfig defaultdb = new DbConfig()
        {
            DbNumber = defaultDbNumber,
            DbString = config.Default, //DefaultDbString,
            DbType = efDbProvider.Substring(efDbProvider.LastIndexOf(".") + 1) //config.DefaultDbType
        };
        dbList.Add(defaultdb);

        // SqlSugar多库设置, 业务数据库集合
        if (config.DbConfigs != null)
        {
            foreach (var item in config.DbConfigs)
            {
                dbList.Add(item);
            }
        }
后面还有 388 行代码,解锁后查看完整代码

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

AI 解读

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

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