SqlSugar关于ToPagedListAsync方法 用时值对象的数组字段返回值为null的问题 返回

SqlSugar 沟通中
1 161

Net环境,定义了实体A,实体A有个值对象B,

         [SugarColumn(ColumnDescription = "B值对象", IsOwnsOne = true)]

          public B? BInfo { get; private set; }

在B类中,定义了某个属性C和属性D

        [SugarColumn(ColumnDescription = "C属性", IsNullable = true, IsJson = true)]

         public int[]? C { get; private set; }

        [SugarColumn(ColumnDescription = "D属性", IsNullable = true)]

         public string? D{ get; private set; }

实体A映射了ADto,当然,ADto 也有映射A

            public class ARegister : IRegister

            {

                public void Register(TypeAdapterConfig config)

                {

                    config.ForType<A, ADto>()

                     .Map(dest => dest.C, src => src.BInfo.C)

                    .Map(dest => dest.D, src => src.BInfo.D);

                 }

            }

问题出现在我API调用时,返回的result中,result.D能带出来,result.C的值如[2,3] Add的时候没问题,SqlServer数据库里有值,但是ToPagedListAsync读回来的C就是null。

             public async Task<SqlSugarPagedList<ADto>> Page(BasePageInput input)

             {

                 var query = _ARepository.AsQueryable();

                 var result = await query.Select<ADto>().ToPagedListAsync(input);

                 return result;

             }

我试了一下,如果是

        var aData = await _ARepository.AsQueryable().ToListAsync();

        var result = aData.Adapt<List<ADto>>();

        return result;

C的值能带出来,但是分页功能就没了,还得再写,请问这个问题该怎么处理?是我哪里使用方式不对吗?


热忱回答1