- 修复 ToChunk + IncludeMany 二级集合属性的 bug;

This commit is contained in:
2881099
2020-12-26 09:44:00 +08:00
parent df9011a736
commit 4f4033a865
5 changed files with 250 additions and 184 deletions

View File

@ -748,6 +748,10 @@ namespace FreeSql.Tests.Dameng
var fkfjfj = select.GroupBy(a => a.Title)
.ToList(a => a.Sum(a.Value.TypeGuid));
var fkfjfj2 = select.GroupBy(a => a.Title)
.Page(2, 10)
.OrderBy(a => a.Key)
.ToList(a => a.Sum(a.Value.TypeGuid));
var aggsql1 = select
.GroupBy(a => a.Title)

View File

@ -742,6 +742,10 @@ namespace FreeSql.Tests.Oracle
var fkfjfj = select.GroupBy(a => a.Title)
.ToList(a => a.Sum(a.Value.TypeGuid));
var fkfjfj2 = select.GroupBy(a => a.Title)
.Page(2, 10)
.OrderBy(a => a.Key)
.ToList(a => a.Sum(a.Value.TypeGuid));
var aggsql1 = select
.GroupBy(a => a.Title)

View File

@ -1568,6 +1568,19 @@ WHERE (((cast(a.""Id"" as character)) in (SELECT b.""Title""
Assert.Equal(1, songs1[1].Tags.Count);
Assert.Equal(3, songs1[2].Tags.Count);
var songs1chunks = new List<Song>();
g.sqlite.Select<Song>()
.IncludeMany(a => a.Tags)
.Where(a => a.Id == song1.Id || a.Id == song2.Id || a.Id == song3.Id)
.ToChunk(2, ft =>
{
songs1chunks.AddRange(ft.Object);
});
Assert.Equal(3, songs1.Count);
Assert.Equal(2, songs1[0].Tags.Count);
Assert.Equal(1, songs1[1].Tags.Count);
Assert.Equal(3, songs1[2].Tags.Count);
var songs2 = g.sqlite.Select<Song>()
.IncludeMany(a => a.Tags,
then => then.IncludeMany(t => t.Songs))
@ -1584,6 +1597,15 @@ WHERE (((cast(a.""Id"" as character)) in (SELECT b.""Title""
.Where(a => a.Tag.Id == tag1.Id || a.Tag.Id == tag2.Id)
.ToList(true);
var tags3chunks = new List<Song_tag>();
g.sqlite.Select<Song_tag>()
.Include(a => a.Tag.Parent)
.IncludeMany(a => a.Tag.Songs)
.Where(a => a.Tag.Id == tag1.Id || a.Tag.Id == tag2.Id)
.ToChunk(2, ft =>
{
tags3chunks.AddRange(ft.Object);
});
var songs11 = g.sqlite.Select<Song>()
.IncludeMany(a => a.Tags.Take(1))