Skip to content

Commit c293a1f

Browse files
2881028810
authored andcommitted
- 增加 ToList<Dto>() 方法,作用与 ToList(a => new Dto()) 相同;
1 parent e63eb42 commit c293a1f

22 files changed

+152
-10
lines changed

FreeSql.Tests/MySql/Curd/MySqlSelectTest.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,11 +149,13 @@ public void ToList() {
149149
var testDto2 = select.Limit(10).ToList(a => new TestDto());
150150
var testDto3 = select.Limit(10).ToList(a => new TestDto { });
151151
var testDto4 = select.Limit(10).ToList(a => new TestDto() { });
152+
var testDto5 = select.Limit(10).ToList<TestDto>();
152153

153154
var testDto11 = select.LeftJoin(a => a.Type.Guid == a.TypeGuid).Limit(10).ToList(a => new TestDto { id = a.Id, name = a.Title });
154155
var testDto22 = select.LeftJoin(a => a.Type.Guid == a.TypeGuid).Limit(10).ToList(a => new TestDto());
155156
var testDto33 = select.LeftJoin(a => a.Type.Guid == a.TypeGuid).Limit(10).ToList(a => new TestDto { });
156157
var testDto44 = select.LeftJoin(a => a.Type.Guid == a.TypeGuid).Limit(10).ToList(a => new TestDto() { });
158+
var testDto55 = select.LeftJoin(a => a.Type.Guid == a.TypeGuid).Limit(10).ToList<TestDto>();
157159

158160
var t0 = select.Limit(50).ToList();
159161

FreeSql/FreeSql.xml

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

FreeSql/Interface/Curd/ISelect/ISelect1.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,13 @@ public interface ISelect<T1> : ISelect0<ISelect<T1>, T1>, ILinqToSql<T1> where T
3030
/// <returns></returns>
3131
List<TReturn> ToList<TReturn>(Expression<Func<T1, TReturn>> select);
3232
Task<List<TReturn>> ToListAsync<TReturn>(Expression<Func<T1, TReturn>> select);
33+
/// <summary>
34+
/// 执行SQL查询,返回 TDto 映射的字段,记录不存在时返回 Count 为 0 的列表
35+
/// </summary>
36+
/// <typeparam name="TDto"></typeparam>
37+
/// <returns></returns>
38+
List<TDto> ToList<TDto>();
39+
Task<List<TDto>> ToListAsync<TDto>();
3340

3441
/// <summary>
3542
/// 执行SQL查询,返回指定字段的记录的第一条记录,记录不存在时返回 TReturn 默认值

FreeSql/Interface/Curd/ISelect/ISelect10.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ public interface ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> : ISelect0<ISe
1515

1616
List<TReturn> ToList<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TReturn>> select);
1717
Task<List<TReturn>> ToListAsync<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TReturn>> select);
18+
List<TDto> ToList<TDto>();
19+
Task<List<TDto>> ToListAsync<TDto>();
1820
string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TReturn>> select);
1921

2022
TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, ISelectGroupingAggregate<T7>, ISelectGroupingAggregate<T8>, ISelectGroupingAggregate<T9>, ISelectGroupingAggregate<T10>, TReturn>> select);

FreeSql/Interface/Curd/ISelect/ISelect2.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ public interface ISelect<T1, T2> : ISelect0<ISelect<T1, T2>, T1> where T1 : clas
1515

1616
List<TReturn> ToList<TReturn>(Expression<Func<T1, T2, TReturn>> select);
1717
Task<List<TReturn>> ToListAsync<TReturn>(Expression<Func<T1, T2, TReturn>> select);
18+
List<TDto> ToList<TDto>();
19+
Task<List<TDto>> ToListAsync<TDto>();
20+
1821
string ToSql<TReturn>(Expression<Func<T1, T2, TReturn>> select);
1922

2023
TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, TReturn>> select);

FreeSql/Interface/Curd/ISelect/ISelect3.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ public interface ISelect<T1, T2, T3> : ISelect0<ISelect<T1, T2, T3>, T1> where T
1515

1616
List<TReturn> ToList<TReturn>(Expression<Func<T1, T2, T3, TReturn>> select);
1717
Task<List<TReturn>> ToListAsync<TReturn>(Expression<Func<T1, T2, T3, TReturn>> select);
18+
List<TDto> ToList<TDto>();
19+
Task<List<TDto>> ToListAsync<TDto>();
1820
string ToSql<TReturn>(Expression<Func<T1, T2, T3, TReturn>> select);
1921

2022
TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, TReturn>> select);

FreeSql/Interface/Curd/ISelect/ISelect4.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ public interface ISelect<T1, T2, T3, T4> : ISelect0<ISelect<T1, T2, T3, T4>, T1>
1515

1616
List<TReturn> ToList<TReturn>(Expression<Func<T1, T2, T3, T4, TReturn>> select);
1717
Task<List<TReturn>> ToListAsync<TReturn>(Expression<Func<T1, T2, T3, T4, TReturn>> select);
18+
List<TDto> ToList<TDto>();
19+
Task<List<TDto>> ToListAsync<TDto>();
1820
string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, TReturn>> select);
1921

2022
TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, TReturn>> select);

FreeSql/Interface/Curd/ISelect/ISelect5.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ public interface ISelect<T1, T2, T3, T4, T5> : ISelect0<ISelect<T1, T2, T3, T4,
1515

1616
List<TReturn> ToList<TReturn>(Expression<Func<T1, T2, T3, T4, T5, TReturn>> select);
1717
Task<List<TReturn>> ToListAsync<TReturn>(Expression<Func<T1, T2, T3, T4, T5, TReturn>> select);
18+
List<TDto> ToList<TDto>();
19+
Task<List<TDto>> ToListAsync<TDto>();
1820
string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, TReturn>> select);
1921

2022
TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, TReturn>> select);

FreeSql/Interface/Curd/ISelect/ISelect6.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ public interface ISelect<T1, T2, T3, T4, T5, T6> : ISelect0<ISelect<T1, T2, T3,
1515

1616
List<TReturn> ToList<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, TReturn>> select);
1717
Task<List<TReturn>> ToListAsync<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, TReturn>> select);
18+
List<TDto> ToList<TDto>();
19+
Task<List<TDto>> ToListAsync<TDto>();
1820
string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, TReturn>> select);
1921

2022
TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, TReturn>> select);

FreeSql/Interface/Curd/ISelect/ISelect7.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ public interface ISelect<T1, T2, T3, T4, T5, T6, T7> : ISelect0<ISelect<T1, T2,
1515

1616
List<TReturn> ToList<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TReturn>> select);
1717
Task<List<TReturn>> ToListAsync<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TReturn>> select);
18+
List<TDto> ToList<TDto>();
19+
Task<List<TDto>> ToListAsync<TDto>();
1820
string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TReturn>> select);
1921

2022
TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, ISelectGroupingAggregate<T7>, TReturn>> select);

0 commit comments

Comments
 (0)