mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-06-18 20:08:15 +08:00
- 优化 ISelect.GroupBy 查询,增加 .Value 实现聚合源字段查询,ToList(a => a.Sum(a.Value.Score));
- 增加 Expression string.Concat;
This commit is contained in:
@ -624,7 +624,54 @@ namespace FreeSql.Tests.SqlServer {
|
||||
arg1 = a.Avg(a.Key.mod4),
|
||||
ccc2 = a.Key.tt2 ?? "now()",
|
||||
//ccc = Convert.ToDateTime("now()"), partby = Convert.ToDecimal("sum(num) over(PARTITION BY server_id,os,rid,chn order by id desc)")
|
||||
ccc3 = a.Max(a.Value.Item3.Id)
|
||||
});
|
||||
|
||||
var testpid1 = _sqlserverFixture.SqlServer.Insert<TestTypeInfo>().AppendData(new TestTypeInfo { Name = "Name" + DateTime.Now.ToString("yyyyMMddHHmmss") }).ExecuteIdentity();
|
||||
_sqlserverFixture.SqlServer.Insert<TestInfo>().AppendData(new TestInfo { Title = "Title" + DateTime.Now.ToString("yyyyMMddHHmmss"), CreateTime = DateTime.Now, TypeGuid = (int)testpid1 }).ExecuteAffrows();
|
||||
|
||||
var aggsql1 = select
|
||||
.GroupBy(a => a.Title)
|
||||
.ToSql(b => new {
|
||||
b.Key,
|
||||
cou = b.Count(),
|
||||
sum2 = b.Sum(b.Value.TypeGuid)
|
||||
});
|
||||
var aggtolist1 = select
|
||||
.GroupBy(a => a.Title)
|
||||
.ToList(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) })
|
||||
.ToSql(b => new {
|
||||
b.Key.Title,
|
||||
b.Key.yyyy,
|
||||
|
||||
cou = b.Count(),
|
||||
sum2 = b.Sum(b.Value.TypeGuid)
|
||||
});
|
||||
var aggtolist2 = select
|
||||
.GroupBy(a => new { a.Title, yyyy = string.Concat(a.CreateTime.Year, '-', a.CreateTime.Month) })
|
||||
.ToList(b => new {
|
||||
b.Key.Title,
|
||||
b.Key.yyyy,
|
||||
|
||||
cou = b.Count(),
|
||||
sum2 = b.Sum(b.Value.TypeGuid)
|
||||
});
|
||||
|
||||
var aggsql3 = select
|
||||
.GroupBy(a => a.Title)
|
||||
.ToSql(b => new {
|
||||
b.Key,
|
||||
cou = b.Count(),
|
||||
sum2 = b.Sum(b.Value.TypeGuid),
|
||||
sum3 = b.Sum(b.Value.Type.Parent.Id)
|
||||
});
|
||||
}
|
||||
[Fact]
|
||||
public void ToAggregate() {
|
||||
|
Reference in New Issue
Block a user