- 增加 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