- 增加 GroupBy ToDictionary 返回字段的查询方法,TKey 为 GroupBy 选择的对象;

- 整理 GroupBy 所有方法不使用 DTO 映射规则;
This commit is contained in:
28810
2020-04-08 19:10:04 +08:00
parent fa59a6e3e8
commit ee1e292165
19 changed files with 455 additions and 207 deletions

View File

@ -821,7 +821,6 @@ namespace FreeSql.Tests.MySqlConnector
{
b.Key,
cou = b.Count(),
sum = b.Sum(b.Key),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggtolist1 = select
@ -830,7 +829,14 @@ namespace FreeSql.Tests.MySqlConnector
{
b.Key,
cou = b.Count(),
sum = b.Sum(b.Key),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggtolist11 = select
.GroupBy(a => a.Title)
.ToDictionary(b => new
{
b.Key,
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});
@ -842,7 +848,6 @@ namespace FreeSql.Tests.MySqlConnector
b.Key.yyyy,
cou = b.Count(),
sum = b.Sum(b.Key.yyyy),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggtolist2 = select
@ -853,7 +858,16 @@ namespace FreeSql.Tests.MySqlConnector
b.Key.yyyy,
cou = b.Count(),
sum = b.Sum(b.Key.yyyy),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggtolist22 = select
.GroupBy(a => new { a.Title, yyyy = string.Concat(a.CreateTime.Year, '-', a.CreateTime.Month) })
.ToDictionary(b => new
{
b.Key.Title,
b.Key.yyyy,
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});
@ -863,7 +877,6 @@ namespace FreeSql.Tests.MySqlConnector
{
b.Key,
cou = b.Count(),
sum = b.Sum(b.Key),
sum2 = b.Sum(b.Value.TypeGuid),
sum3 = b.Sum(b.Value.Type.Parent.Id)
});

View File

@ -749,7 +749,6 @@ namespace FreeSql.Tests.Odbc.Dameng
{
b.Key,
cou = b.Count(),
sum = b.Sum(b.Key),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggtolist1 = select
@ -760,6 +759,14 @@ namespace FreeSql.Tests.Odbc.Dameng
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggtolist11 = select
.GroupBy(a => a.Title)
.ToDictionary(b => new
{
b.Key,
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggsql2 = select
.GroupBy(a => new { a.Title, yyyy = string.Concat(a.CreateTime.Year, '-', a.CreateTime.Month) })
@ -780,6 +787,16 @@ namespace FreeSql.Tests.Odbc.Dameng
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggtolist22 = select
.GroupBy(a => new { a.Title, yyyy = string.Concat(a.CreateTime.Year, '-', a.CreateTime.Month) })
.ToDictionary(b => new
{
b.Key.Title,
b.Key.yyyy,
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggsql3 = select
.GroupBy(a => a.Title)

View File

@ -749,6 +749,14 @@ namespace FreeSql.Tests.Odbc.Default
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggtolist11 = select
.GroupBy(a => a.Title)
.ToDictionary(b => new
{
b.Key,
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggsql2 = select
.GroupBy(a => new { a.Title, yyyy = string.Concat(a.CreateTime.Year, '-', a.CreateTime.Month) })
@ -767,6 +775,16 @@ namespace FreeSql.Tests.Odbc.Default
b.Key.Title,
b.Key.yyyy,
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggtolist22 = select
.GroupBy(a => new { a.Title, yyyy = string.Concat(a.CreateTime.Year, '-', a.CreateTime.Month) })
.ToDictionary(b => new
{
b.Key.Title,
b.Key.yyyy,
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});

View File

@ -832,7 +832,6 @@ namespace FreeSql.Tests.Odbc.MySql
{
b.Key,
cou = b.Count(),
sum = b.Sum(b.Key),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggtolist1 = select
@ -841,7 +840,14 @@ namespace FreeSql.Tests.Odbc.MySql
{
b.Key,
cou = b.Count(),
sum = b.Sum(b.Key),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggtolist11 = select
.GroupBy(a => a.Title)
.ToDictionary(b => new
{
b.Key,
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});
@ -853,7 +859,6 @@ namespace FreeSql.Tests.Odbc.MySql
b.Key.yyyy,
cou = b.Count(),
sum = b.Sum(b.Key.yyyy),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggtolist2 = select
@ -864,7 +869,16 @@ namespace FreeSql.Tests.Odbc.MySql
b.Key.yyyy,
cou = b.Count(),
sum = b.Sum(b.Key.yyyy),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggtolist22 = select
.GroupBy(a => new { a.Title, yyyy = string.Concat(a.CreateTime.Year, '-', a.CreateTime.Month) })
.ToDictionary(b => new
{
b.Key.Title,
b.Key.yyyy,
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});
@ -874,7 +888,6 @@ namespace FreeSql.Tests.Odbc.MySql
{
b.Key,
cou = b.Count(),
sum = b.Sum(b.Key),
sum2 = b.Sum(b.Value.TypeGuid),
sum3 = b.Sum(b.Value.Type.Parent.Id)
});

View File

@ -759,6 +759,14 @@ namespace FreeSql.Tests.Odbc.Oracle
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggtolist11 = select
.GroupBy(a => a.Title)
.ToDictionary(b => new
{
b.Key,
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggsql2 = select
.GroupBy(a => new { a.Title, yyyy = string.Concat(a.CreateTime.Year, '-', a.CreateTime.Month) })
@ -777,6 +785,16 @@ namespace FreeSql.Tests.Odbc.Oracle
b.Key.Title,
b.Key.yyyy,
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggtolist22 = select
.GroupBy(a => new { a.Title, yyyy = string.Concat(a.CreateTime.Year, '-', a.CreateTime.Month) })
.ToDictionary(b => new
{
b.Key.Title,
b.Key.yyyy,
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});

View File

@ -819,6 +819,14 @@ namespace FreeSql.Tests.Odbc.PostgreSQL
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggtolist11 = select
.GroupBy(a => a.Title)
.ToDictionary(b => new
{
b.Key,
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggsql2 = select
.GroupBy(a => new { a.Title, yyyy = string.Concat(a.CreateTime.Year, '-', a.CreateTime.Month) })
@ -837,6 +845,16 @@ namespace FreeSql.Tests.Odbc.PostgreSQL
b.Key.Title,
b.Key.yyyy,
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggtolist22 = select
.GroupBy(a => new { a.Title, yyyy = string.Concat(a.CreateTime.Year, '-', a.CreateTime.Month) })
.ToDictionary(b => new
{
b.Key.Title,
b.Key.yyyy,
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});

View File

@ -714,6 +714,14 @@ namespace FreeSql.Tests.Odbc.SqlServer
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggtolist11 = select
.GroupBy(a => a.Title)
.ToDictionary(b => new
{
b.Key,
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggsql2 = select
.GroupBy(a => new { a.Title, yyyy = string.Concat(a.CreateTime.Year, '-', a.CreateTime.Month) })
@ -732,6 +740,16 @@ namespace FreeSql.Tests.Odbc.SqlServer
b.Key.Title,
b.Key.yyyy,
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggtolist22 = select
.GroupBy(a => new { a.Title, yyyy = string.Concat(a.CreateTime.Year, '-', a.CreateTime.Month) })
.ToDictionary(b => new
{
b.Key.Title,
b.Key.yyyy,
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});

View File

@ -750,6 +750,14 @@ namespace FreeSql.Tests.MsAccess
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggtolist11 = select
.GroupBy(a => a.Title)
.ToDictionary(b => new
{
b.Key,
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggsql2 = select
.GroupBy(a => new { a.Title, yyyy = string.Concat(a.CreateTime.Year, '-', a.CreateTime.Month) })
@ -768,6 +776,16 @@ namespace FreeSql.Tests.MsAccess
b.Key.Title,
b.Key.yyyy,
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggtolist22 = select
.GroupBy(a => new { a.Title, yyyy = string.Concat(a.CreateTime.Year, '-', a.CreateTime.Month) })
.ToDictionary(b => new
{
b.Key.Title,
b.Key.yyyy,
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});

View File

@ -863,7 +863,6 @@ namespace FreeSql.Tests.MySql
{
b.Key,
cou = b.Count(),
sum = b.Sum(b.Key),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggtolist1 = select
@ -872,7 +871,14 @@ namespace FreeSql.Tests.MySql
{
b.Key,
cou = b.Count(),
sum = b.Sum(b.Key),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggtolist11 = select
.GroupBy(a => a.Title)
.ToDictionary(b => new
{
b.Key,
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});
@ -884,7 +890,6 @@ namespace FreeSql.Tests.MySql
b.Key.yyyy,
cou = b.Count(),
sum = b.Sum(b.Key.yyyy),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggtolist2 = select
@ -895,7 +900,16 @@ namespace FreeSql.Tests.MySql
b.Key.yyyy,
cou = b.Count(),
sum = b.Sum(b.Key.yyyy),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggtolist22 = select
.GroupBy(a => new { a.Title, yyyy = string.Concat(a.CreateTime.Year, '-', a.CreateTime.Month) })
.ToDictionary(b => new
{
b.Key.Title,
b.Key.yyyy,
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});
@ -905,7 +919,6 @@ namespace FreeSql.Tests.MySql
{
b.Key,
cou = b.Count(),
sum = b.Sum(b.Key),
sum2 = b.Sum(b.Value.TypeGuid),
sum3 = b.Sum(b.Value.Type.Parent.Id)
});

View File

@ -759,6 +759,14 @@ namespace FreeSql.Tests.Oracle
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggtolist11 = select
.GroupBy(a => a.Title)
.ToDictionary(b => new
{
b.Key,
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggsql2 = select
.GroupBy(a => new { a.Title, yyyy = string.Concat(a.CreateTime.Year, '-', a.CreateTime.Month) })
@ -777,6 +785,16 @@ namespace FreeSql.Tests.Oracle
b.Key.Title,
b.Key.yyyy,
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggtolist22 = select
.GroupBy(a => new { a.Title, yyyy = string.Concat(a.CreateTime.Year, '-', a.CreateTime.Month) })
.ToDictionary(b => new
{
b.Key.Title,
b.Key.yyyy,
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});

View File

@ -836,6 +836,14 @@ namespace FreeSql.Tests.PostgreSQL
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggtolist11 = select
.GroupBy(a => a.Title)
.ToDictionary(b => new
{
b.Key,
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggsql2 = select
.GroupBy(a => new { a.Title, yyyy = string.Concat(a.CreateTime.Year, '-', a.CreateTime.Month) })
@ -854,6 +862,16 @@ namespace FreeSql.Tests.PostgreSQL
b.Key.Title,
b.Key.yyyy,
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggtolist22 = select
.GroupBy(a => new { a.Title, yyyy = string.Concat(a.CreateTime.Year, '-', a.CreateTime.Month) })
.ToDictionary(b => new
{
b.Key.Title,
b.Key.yyyy,
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});

View File

@ -763,6 +763,14 @@ namespace FreeSql.Tests.SqlServer
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggtolist11 = select
.GroupBy(a => a.Title)
.ToDictionary(b => new
{
b.Key,
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggsql2 = select
.GroupBy(a => new { a.Title, yyyy = string.Concat(a.CreateTime.Year, '-', a.CreateTime.Month) })
@ -781,6 +789,16 @@ namespace FreeSql.Tests.SqlServer
b.Key.Title,
b.Key.yyyy,
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggtolist22 = select
.GroupBy(a => new { a.Title, yyyy = string.Concat(a.CreateTime.Year, '-', a.CreateTime.Month) })
.ToDictionary(b => new
{
b.Key.Title,
b.Key.yyyy,
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});

View File

@ -701,7 +701,6 @@ namespace FreeSql.Tests.Sqlite
{
b.Key,
cou = b.Count(),
sum = b.Sum(b.Key),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggtolist1 = select
@ -710,7 +709,14 @@ namespace FreeSql.Tests.Sqlite
{
b.Key,
cou = b.Count(),
sum = b.Sum(b.Key),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggtolist11 = select
.GroupBy(a => a.Title)
.ToDictionary(b => new
{
b.Key,
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});
@ -722,7 +728,6 @@ namespace FreeSql.Tests.Sqlite
b.Key.yyyy,
cou = b.Count(),
sum = b.Sum(b.Key.yyyy),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggtolist2 = select
@ -733,7 +738,16 @@ namespace FreeSql.Tests.Sqlite
b.Key.yyyy,
cou = b.Count(),
sum = b.Sum(b.Key.yyyy),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggtolist22 = select
.GroupBy(a => new { a.Title, yyyy = string.Concat(a.CreateTime.Year, '-', a.CreateTime.Month) })
.ToDictionary(b => new
{
b.Key.Title,
b.Key.yyyy,
cou = b.Count(),
sum2 = b.Sum(b.Value.TypeGuid)
});
@ -743,7 +757,6 @@ namespace FreeSql.Tests.Sqlite
{
b.Key,
cou = b.Count(),
sum = b.Sum(b.Key),
sum2 = b.Sum(b.Value.TypeGuid),
sum3 = b.Sum(b.Value.Type.Parent.Id)
});

View File

@ -962,6 +962,29 @@ namespace FreeSql.Tests
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggtolist21 = select
.GroupBy(a => new { a.Title, yyyy = string.Concat(a.CreateTime.Year, '-', a.CreateTime.Month) })
.ToDictionary(b => new
{
b.Key.Title,
b.Key.yyyy,
cou = b.Count(),
sum = b.Sum(b.Key.yyyy),
sum2 = b.Sum(b.Value.TypeGuid)
});
var aggtolist22 = select
.GroupBy(a => new { a.Title, yyyy = string.Concat(a.CreateTime.Year, '-', a.CreateTime.Month) })
.ToDictionaryAsync(b => new
{
b.Key.Title,
b.Key.yyyy,
cou = b.Count(),
sum = b.Sum(b.Key.yyyy),
sum2 = b.Sum(b.Value.TypeGuid)
}).Result;
var aggsql3 = select
.GroupBy(a => a.Title)
.ToSql(b => new