SqlSugar关于ToPagedListAsync方法 用时值对象的数组字段返回值为null的问题 返回
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)
-
fate sta VIP0
2周前只支持下面写法。
0 回复