使用自动分表后,使用SplitTableGetTablesFunc在insert 时无效 返回

SqlSugar 沟通中
1 254

全部代码

// See https://aka.ms/new-console-template for more information

using CollectPlatform.Core;

using SqlSugar;

using SqlSugar.SplitTableExtensions;

using System.Net.Http;



List<SplitTableInfo> splitTableInfos = new List<SplitTableInfo>();



//创建数据库对象 (用法和EF Dappper一样通过new保证线程安全)

SqlSugarClient Db = new SqlSugarClient(new ConnectionConfig()

{

    ConnectionString = "",

    DbType = DbType.Dm,

    IsAutoCloseConnection = true

},

db =>

{

    StaticConfig.SplitTableGetTablesFunc = () =>

    {

        if (splitTableInfos.Count > 0)

        {

            Console.WriteLine("进入缓存表名称");


            return splitTableInfos;

        }

        else

        {

            Console.WriteLine("第一次进入缓存表名称");

            var list = db.DbMaintenance.GetTableInfoList(false);

            splitTableInfos = list.Select(it => new SplitTableInfo() { TableName = it.Name }).ToList();

            return splitTableInfos;

        }

    };

    db.Aop.OnLogExecuting = (sql, pars) =>

    {

        Console.WriteLine(UtilMethods.GetNativeSql(sql, pars));


    };

});

Console.WriteLine("Hello, World!");

var sysOpLog = new SYS_LOG_OP

{

    Guid = Guid.NewGuid().ToString().Replace("-", ""),

    Name = "测试",

    OpType = 1,

    Success = "0",

    Message = "成功",

    Ip = "",

    Location = "",

    Browser = "",

    Os = "",

    Url = "",

    ClassName = "",

    MethodName = "",

    ReqMethod = "",

    Param = "",

    //Param = JsonSerializerUtility.Serialize(context.ActionArguments),

    //Result = JsonSerializerUtility.Serialize(actionContext.Result),

    Result = "",        //非空约束

    ElapsedTime = 1,

    OpTime = DateTime.Now,

    LX = 0,

    Account = ""  //非空约束

};

Console.WriteLine("第一次查询");

Db.Queryable<SYS_LOG_OP>().Where(x => x.Guid == "").SplitTable().ToList();

for (int j = 0; j < 2; j++)

{

    int count = Db.Insertable(sysOpLog).SplitTable().ExecuteCommand();

}


int i = 0;


输出结果SQL截图

3(3B7Y2DNM~H`7]5HAMX@NR.png

热忱回答1