dotnetcore / SmartSql

SmartSql = MyBatis in C# + .NET Core+ Cache(Memory | Redis) + R/W Splitting + PropertyChangedTrack +Dynamic Repository + InvokeSync + Diagnostics
https://smartsql.net/
Apache License 2.0
1.1k stars 222 forks source link

【Feature Request】DyRepository实现一个方法中进行多次查询并映射到返回实体的不同属性 #23

Closed ElderJames closed 6 years ago

ElderJames commented 6 years ago

鉴于最新版本已支持多查询返回多个对象,现在提议一个特性,就是在DyRepository中的方法执行多条查询时,可以把多个结果映射到一个实体的不同属性上。

例如返回类型是以下类型:

    public class PagedData<TRecord>
    {
        public PagedData()
        {
        }

        public PagedData(int pageSize, int pageNow)
        {
            PageSize = pageSize;
            PageNow = pageNow;
            TotalCount = 0;
            Records = Enumerable.Empty<TRecord>();
        }

        public int PageSize { get; set; }

        public int PageNow { get; set; }

        public int TotalCount { get; set; }

        public IEnumerable<TRecord> Records { get; set; }
    }

那么会进行两次查询:

  1. 先查询总记录数,结果映射到TotalCount上
  2. 再查询分页的记录,结果映射到Records 上
Ahoo-Wang commented 6 years ago

https://github.com/Ahoo-Wang/SmartSql/releases/tag/v3.6.0-rc1