mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-06-19 12:28:15 +08:00
- 优化 GroupBy ToList 中可以直接使用 a.Key;
This commit is contained in:
@ -866,7 +866,7 @@ namespace FreeSql.Tests.MySqlConnector
|
||||
{
|
||||
b.Key.Title,
|
||||
b.Key.yyyy,
|
||||
|
||||
b.Key,
|
||||
cou = b.Count(),
|
||||
sum2 = b.Sum(b.Value.TypeGuid)
|
||||
});
|
||||
|
@ -793,7 +793,7 @@ namespace FreeSql.Tests.Odbc.Dameng
|
||||
{
|
||||
b.Key.Title,
|
||||
b.Key.yyyy,
|
||||
|
||||
b.Key,
|
||||
cou = b.Count(),
|
||||
sum2 = b.Sum(b.Value.TypeGuid)
|
||||
});
|
||||
|
@ -784,7 +784,7 @@ namespace FreeSql.Tests.Odbc.Default
|
||||
{
|
||||
b.Key.Title,
|
||||
b.Key.yyyy,
|
||||
|
||||
b.Key,
|
||||
cou = b.Count(),
|
||||
sum2 = b.Sum(b.Value.TypeGuid)
|
||||
});
|
||||
|
@ -758,7 +758,7 @@ namespace FreeSql.Tests.Odbc.KingbaseES
|
||||
{
|
||||
b.Key.Title,
|
||||
b.Key.yyyy,
|
||||
|
||||
b.Key,
|
||||
cou = b.Count(),
|
||||
sum2 = b.Sum(b.Value.TypeGuid)
|
||||
});
|
||||
|
@ -877,7 +877,7 @@ namespace FreeSql.Tests.Odbc.MySql
|
||||
{
|
||||
b.Key.Title,
|
||||
b.Key.yyyy,
|
||||
|
||||
b.Key,
|
||||
cou = b.Count(),
|
||||
sum2 = b.Sum(b.Value.TypeGuid)
|
||||
});
|
||||
|
@ -794,7 +794,7 @@ namespace FreeSql.Tests.Odbc.Oracle
|
||||
{
|
||||
b.Key.Title,
|
||||
b.Key.yyyy,
|
||||
|
||||
b.Key,
|
||||
cou = b.Count(),
|
||||
sum2 = b.Sum(b.Value.TypeGuid)
|
||||
});
|
||||
|
@ -854,7 +854,7 @@ namespace FreeSql.Tests.Odbc.PostgreSQL
|
||||
{
|
||||
b.Key.Title,
|
||||
b.Key.yyyy,
|
||||
|
||||
b.Key,
|
||||
cou = b.Count(),
|
||||
sum2 = b.Sum(b.Value.TypeGuid)
|
||||
});
|
||||
|
@ -749,7 +749,7 @@ namespace FreeSql.Tests.Odbc.SqlServer
|
||||
{
|
||||
b.Key.Title,
|
||||
b.Key.yyyy,
|
||||
|
||||
b.Key,
|
||||
cou = b.Count(),
|
||||
sum2 = b.Sum(b.Value.TypeGuid)
|
||||
});
|
||||
|
@ -793,7 +793,7 @@ namespace FreeSql.Tests.Dameng
|
||||
{
|
||||
b.Key.Title,
|
||||
b.Key.yyyy,
|
||||
|
||||
b.Key,
|
||||
cou = b.Count(),
|
||||
sum2 = b.Sum(b.Value.TypeGuid)
|
||||
});
|
||||
|
@ -785,7 +785,7 @@ namespace FreeSql.Tests.MsAccess
|
||||
{
|
||||
b.Key.Title,
|
||||
b.Key.yyyy,
|
||||
|
||||
b.Key,
|
||||
cou = b.Count(),
|
||||
sum2 = b.Sum(b.Value.TypeGuid)
|
||||
});
|
||||
|
@ -913,7 +913,7 @@ namespace FreeSql.Tests.MySql
|
||||
{
|
||||
b.Key.Title,
|
||||
b.Key.yyyy,
|
||||
|
||||
b.Key,
|
||||
cou = b.Count(),
|
||||
sum2 = b.Sum(b.Value.TypeGuid)
|
||||
});
|
||||
|
@ -794,7 +794,7 @@ namespace FreeSql.Tests.Oracle
|
||||
{
|
||||
b.Key.Title,
|
||||
b.Key.yyyy,
|
||||
|
||||
b.Key,
|
||||
cou = b.Count(),
|
||||
sum2 = b.Sum(b.Value.TypeGuid)
|
||||
});
|
||||
|
@ -871,7 +871,7 @@ namespace FreeSql.Tests.PostgreSQL
|
||||
{
|
||||
b.Key.Title,
|
||||
b.Key.yyyy,
|
||||
|
||||
b.Key,
|
||||
cou = b.Count(),
|
||||
sum2 = b.Sum(b.Value.TypeGuid)
|
||||
});
|
||||
|
@ -871,7 +871,7 @@ namespace FreeSql.Tests.ShenTong
|
||||
{
|
||||
b.Key.Title,
|
||||
b.Key.yyyy,
|
||||
|
||||
b.Key,
|
||||
cou = b.Count(),
|
||||
sum2 = b.Sum(b.Value.TypeGuid)
|
||||
});
|
||||
|
@ -805,7 +805,7 @@ namespace FreeSql.Tests.SqlServer
|
||||
{
|
||||
b.Key.Title,
|
||||
b.Key.yyyy,
|
||||
|
||||
b.Key,
|
||||
cou = b.Count(),
|
||||
sum2 = b.Sum(b.Value.TypeGuid)
|
||||
});
|
||||
|
@ -759,7 +759,7 @@ namespace FreeSql.Tests.Sqlite
|
||||
{
|
||||
b.Key.Title,
|
||||
b.Key.yyyy,
|
||||
|
||||
b.Key,
|
||||
cou = b.Count(),
|
||||
sum2 = b.Sum(b.Value.TypeGuid)
|
||||
});
|
||||
|
@ -996,7 +996,7 @@ namespace FreeSql.Tests
|
||||
{
|
||||
b.Key.Title,
|
||||
b.Key.yyyy,
|
||||
|
||||
b.Key,
|
||||
cou = b.Count(),
|
||||
sum = b.Sum(b.Key.yyyy),
|
||||
sum2 = b.Sum(b.Value.TypeGuid)
|
||||
|
@ -179,6 +179,17 @@ namespace FreeSql.Tests
|
||||
var aff2 = g.sqlite.Delete<Edi>(10086).ExecuteAffrows();
|
||||
Assert.Equal(aff1, aff2);
|
||||
|
||||
g.sqlserver.Delete<Edi>().Where("1=1").ExecuteAffrows();
|
||||
g.sqlserver.Delete<EdiItem>().Where("1=1").ExecuteAffrows();
|
||||
g.sqlserver.Insert(new[] { new Edi { Id = 1 }, new Edi { Id = 2 }, new Edi { Id = 3 }, new Edi { Id = 4 }, new Edi { Id = 5 } }).ExecuteAffrows();
|
||||
g.sqlserver.Insert(new[] {
|
||||
new EdiItem { Id = 1, EdiId = 1 }, new EdiItem { Id = 2, EdiId = 1 }, new EdiItem { Id = 3, EdiId = 1 } ,
|
||||
new EdiItem { Id = 4, EdiId = 2 }, new EdiItem { Id = 5, EdiId = 2 },
|
||||
new EdiItem { Id = 6, EdiId = 3 }, new EdiItem { Id = 7, EdiId = 3 },
|
||||
new EdiItem { Id = 8, EdiId = 4 }, new EdiItem { Id = 9, EdiId = 4 },
|
||||
new EdiItem { Id = 10, EdiId = 5 }, new EdiItem { Id = 11, EdiId = 5 },
|
||||
}).ExecuteAffrows();
|
||||
|
||||
|
||||
var testStringFormat = g.sqlite.Select<Edi>().First(a => new {
|
||||
str = $"x{a.Id}_{DateTime.Now.ToString("yyyyMM")}z",
|
||||
@ -265,6 +276,22 @@ namespace FreeSql.Tests
|
||||
over1 = SqlExt.Rank().Over().OrderBy(a.Id).OrderByDescending(b.EdiId).ToValue(),
|
||||
});
|
||||
|
||||
var sqlextCaseGroupBy1 = g.sqlserver.Select<Edi, EdiItem>()
|
||||
.InnerJoin((a, b) => b.Id == a.Id)
|
||||
.GroupBy((a, b) => new { aid = a.Id, bid = b.Id })
|
||||
.ToDictionary(a => new
|
||||
{
|
||||
sum = a.Sum(a.Value.Item2.EdiId)
|
||||
});
|
||||
|
||||
var sqlextCaseGroupBy2 = g.sqlserver.Select<Edi, EdiItem>()
|
||||
.InnerJoin((a, b) => b.Id == a.Id)
|
||||
.GroupBy((a, b) => new { aid = a.Id, bid = b.Id })
|
||||
.ToList(a => new
|
||||
{
|
||||
a.Key, sum = a.Sum(a.Value.Item2.EdiId)
|
||||
});
|
||||
|
||||
|
||||
var sqlextOver = g.sqlserver.Select<Edi, EdiItem>()
|
||||
.InnerJoin((a, b) => b.Id == a.Id)
|
||||
|
Reference in New Issue
Block a user