mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-08-03 20:45:27 +08:00
- 增加 IncludeMany(a => a.Childs).ToList(a => new { a.Childs }) 指定集合属性返回;
This commit is contained in:
@ -1114,33 +1114,89 @@ WHERE (((cast(a.""Id"" as character)) in (SELECT b.""Title""
|
||||
.IncludeMany(a => a.childs.Where(m3 => m3.model2111Idaaa == a.model2id))
|
||||
.Where(a => a.model2id <= model1.id)
|
||||
.ToList();
|
||||
var t001 = g.sqlite.Select<TestInclude_OneToManyModel2>()
|
||||
.IncludeMany(a => a.childs.Where(m3 => m3.model2111Idaaa == a.model2id))
|
||||
.Where(a => a.model2id <= model1.id)
|
||||
.ToList(a => new
|
||||
{
|
||||
a.model1.id,
|
||||
a.childs,
|
||||
childs2 = a.childs
|
||||
});
|
||||
|
||||
var t1 = g.sqlite.Select<TestInclude_OneToManyModel1>()
|
||||
.IncludeMany(a => a.model2.childs.Where(m3 => m3.model2111Idaaa == a.model2.model2id))
|
||||
.Where(a => a.id <= model1.id)
|
||||
.ToList();
|
||||
var t111 = g.sqlite.Select<TestInclude_OneToManyModel1>()
|
||||
.IncludeMany(a => a.model2.childs.Where(m3 => m3.model2111Idaaa == a.model2.model2id))
|
||||
.Where(a => a.id <= model1.id)
|
||||
.ToList(a => new
|
||||
{
|
||||
a.id,
|
||||
a.model2.childs,
|
||||
childs2 = a.model2.childs
|
||||
});
|
||||
|
||||
var t2 = g.sqlite.Select<TestInclude_OneToManyModel1>()
|
||||
.IncludeMany(a => a.model2.childs.Where(m3 => m3.model2111Idaaa == a.model2.model2id),
|
||||
then => then.IncludeMany(m3 => m3.childs2.Where(m4 => m4.model3333Id333 == m3.id)))
|
||||
.Where(a => a.id <= model1.id)
|
||||
.ToList();
|
||||
var t222 = g.sqlite.Select<TestInclude_OneToManyModel1>()
|
||||
.IncludeMany(a => a.model2.childs.Where(m3 => m3.model2111Idaaa == a.model2.model2id),
|
||||
then => then.IncludeMany(m3 => m3.childs2.Where(m4 => m4.model3333Id333 == m3.id)))
|
||||
.Where(a => a.id <= model1.id)
|
||||
.ToList(a => new
|
||||
{
|
||||
a.id,
|
||||
a.model2.childs,
|
||||
childs2 = a.model2.childs
|
||||
});
|
||||
|
||||
var t00 = g.sqlite.Select<TestInclude_OneToManyModel2>()
|
||||
.IncludeMany(a => a.childs.Take(1).Where(m3 => m3.model2111Idaaa == a.model2id))
|
||||
.Where(a => a.model2id <= model1.id)
|
||||
.ToList();
|
||||
var t0001 = g.sqlite.Select<TestInclude_OneToManyModel2>()
|
||||
.IncludeMany(a => a.childs.Take(1).Where(m3 => m3.model2111Idaaa == a.model2id))
|
||||
.Where(a => a.model2id <= model1.id)
|
||||
.ToList(a => new
|
||||
{
|
||||
a.model1.id,
|
||||
a.childs,
|
||||
childs2 = a.childs
|
||||
});
|
||||
|
||||
var t11 = g.sqlite.Select<TestInclude_OneToManyModel1>()
|
||||
.IncludeMany(a => a.model2.childs.Take(1).Where(m3 => m3.model2111Idaaa == a.model2.model2id))
|
||||
.Where(a => a.id <= model1.id)
|
||||
.ToList();
|
||||
var t1111 = g.sqlite.Select<TestInclude_OneToManyModel1>()
|
||||
.IncludeMany(a => a.model2.childs.Take(1).Where(m3 => m3.model2111Idaaa == a.model2.model2id))
|
||||
.Where(a => a.id <= model1.id)
|
||||
.ToList(a => new
|
||||
{
|
||||
a.id,
|
||||
a.model2.childs,
|
||||
childs2 = a.model2.childs
|
||||
});
|
||||
|
||||
var t22 = g.sqlite.Select<TestInclude_OneToManyModel1>()
|
||||
.IncludeMany(a => a.model2.childs.Take(1).Where(m3 => m3.model2111Idaaa == a.model2.model2id),
|
||||
then => then.IncludeMany(m3 => m3.childs2.Take(2).Where(m4 => m4.model3333Id333 == m3.id)))
|
||||
.Where(a => a.id <= model1.id)
|
||||
.ToList();
|
||||
var t2222 = g.sqlite.Select<TestInclude_OneToManyModel1>()
|
||||
.IncludeMany(a => a.model2.childs.Take(1).Where(m3 => m3.model2111Idaaa == a.model2.model2id),
|
||||
then => then.IncludeMany(m3 => m3.childs2.Take(2).Where(m4 => m4.model3333Id333 == m3.id)))
|
||||
.Where(a => a.id <= model1.id)
|
||||
.ToList(a => new
|
||||
{
|
||||
a.id,
|
||||
a.model2.childs,
|
||||
childs2 = a.model2.childs
|
||||
});
|
||||
|
||||
//---- Select ----
|
||||
|
||||
@ -1148,33 +1204,77 @@ WHERE (((cast(a.""Id"" as character)) in (SELECT b.""Title""
|
||||
.IncludeMany(a => a.childs.Where(m3 => m3.model2111Idaaa == a.model2id).Select(m3 => new TestInclude_OneToManyModel3 { id = m3.id }))
|
||||
.Where(a => a.model2id <= model1.id)
|
||||
.ToList();
|
||||
var at001 = g.sqlite.Select<TestInclude_OneToManyModel2>()
|
||||
.IncludeMany(a => a.childs.Where(m3 => m3.model2111Idaaa == a.model2id).Select(m3 => new TestInclude_OneToManyModel3 { id = m3.id }))
|
||||
.Where(a => a.model2id <= model1.id)
|
||||
.ToList(a => new
|
||||
{
|
||||
a.model2id, a.childs, childs2 = a.childs
|
||||
});
|
||||
|
||||
var at1 = g.sqlite.Select<TestInclude_OneToManyModel1>()
|
||||
.IncludeMany(a => a.model2.childs.Where(m3 => m3.model2111Idaaa == a.model2.model2id).Select(m3 => new TestInclude_OneToManyModel3 { id = m3.id }))
|
||||
.Where(a => a.id <= model1.id)
|
||||
.ToList();
|
||||
.ToList();
|
||||
var at111 = g.sqlite.Select<TestInclude_OneToManyModel1>()
|
||||
.IncludeMany(a => a.model2.childs.Where(m3 => m3.model2111Idaaa == a.model2.model2id).Select(m3 => new TestInclude_OneToManyModel3 { id = m3.id }))
|
||||
.Where(a => a.id <= model1.id)
|
||||
.ToList(a => new
|
||||
{
|
||||
a.id, a.model2.childs, childs2 = a.model2.childs
|
||||
});
|
||||
|
||||
var at2 = g.sqlite.Select<TestInclude_OneToManyModel1>()
|
||||
.IncludeMany(a => a.model2.childs.Where(m3 => m3.model2111Idaaa == a.model2.model2id).Select(m3 => new TestInclude_OneToManyModel3 { id = m3.id }),
|
||||
then => then.IncludeMany(m3 => m3.childs2.Where(m4 => m4.model3333Id333 == m3.id).Select(m4 => new TestInclude_OneToManyModel4 { id = m4.id })))
|
||||
.Where(a => a.id <= model1.id)
|
||||
.ToList();
|
||||
var at2222 = g.sqlite.Select<TestInclude_OneToManyModel1>()
|
||||
.IncludeMany(a => a.model2.childs.Where(m3 => m3.model2111Idaaa == a.model2.model2id).Select(m3 => new TestInclude_OneToManyModel3 { id = m3.id }),
|
||||
then => then.IncludeMany(m3 => m3.childs2.Where(m4 => m4.model3333Id333 == m3.id).Select(m4 => new TestInclude_OneToManyModel4 { id = m4.id })))
|
||||
.Where(a => a.id <= model1.id)
|
||||
.ToList(a => new
|
||||
{
|
||||
a.id, a.model2.childs, childs2 = a.model2.childs
|
||||
});
|
||||
|
||||
var at00 = g.sqlite.Select<TestInclude_OneToManyModel2>()
|
||||
.IncludeMany(a => a.childs.Take(1).Where(m3 => m3.model2111Idaaa == a.model2id).Select(m3 => new TestInclude_OneToManyModel3 { id = m3.id }))
|
||||
.Where(a => a.model2id <= model1.id)
|
||||
.ToList();
|
||||
var at011 = g.sqlite.Select<TestInclude_OneToManyModel2>()
|
||||
.IncludeMany(a => a.childs.Take(1).Where(m3 => m3.model2111Idaaa == a.model2id).Select(m3 => new TestInclude_OneToManyModel3 { id = m3.id }))
|
||||
.Where(a => a.model2id <= model1.id)
|
||||
.ToList(a => new
|
||||
{
|
||||
a.model2id, a.childs, childs2 = a.childs
|
||||
});
|
||||
|
||||
var at11 = g.sqlite.Select<TestInclude_OneToManyModel1>()
|
||||
.IncludeMany(a => a.model2.childs.Take(1).Where(m3 => m3.model2111Idaaa == a.model2.model2id).Select(m3 => new TestInclude_OneToManyModel3 { id = m3.id }))
|
||||
.Where(a => a.id <= model1.id)
|
||||
.ToList();
|
||||
var at1112 = g.sqlite.Select<TestInclude_OneToManyModel1>()
|
||||
.IncludeMany(a => a.model2.childs.Take(1).Where(m3 => m3.model2111Idaaa == a.model2.model2id).Select(m3 => new TestInclude_OneToManyModel3 { id = m3.id }))
|
||||
.Where(a => a.id <= model1.id)
|
||||
.ToList(a => new
|
||||
{
|
||||
a.id, a.model2.childs, childs2 = a.model2.childs
|
||||
});
|
||||
|
||||
var at22 = g.sqlite.Select<TestInclude_OneToManyModel1>()
|
||||
.IncludeMany(a => a.model2.childs.Take(1).Where(m3 => m3.model2111Idaaa == a.model2.model2id).Select(m3 => new TestInclude_OneToManyModel3 { id = m3.id }),
|
||||
then => then.IncludeMany(m3 => m3.childs2.Take(2).Where(m4 => m4.model3333Id333 == m3.id).Select(m4 => new TestInclude_OneToManyModel4 { id = m4.id })))
|
||||
.Where(a => a.id <= model1.id)
|
||||
.ToList();
|
||||
var at2223 = g.sqlite.Select<TestInclude_OneToManyModel1>()
|
||||
.IncludeMany(a => a.model2.childs.Take(1).Where(m3 => m3.model2111Idaaa == a.model2.model2id).Select(m3 => new TestInclude_OneToManyModel3 { id = m3.id }),
|
||||
then => then.IncludeMany(m3 => m3.childs2.Take(2).Where(m4 => m4.model3333Id333 == m3.id).Select(m4 => new TestInclude_OneToManyModel4 { id = m4.id })))
|
||||
.Where(a => a.id <= model1.id)
|
||||
.ToList(a => new
|
||||
{
|
||||
a.id, a.model2.childs, childs2 = a.model2.childs
|
||||
});
|
||||
}
|
||||
|
||||
public class TestInclude_OneToManyModel11
|
||||
@ -1557,6 +1657,15 @@ WHERE (((cast(a.""Id"" as character)) in (SELECT b.""Title""
|
||||
.IncludeMany(a => a.Tag.Songs.Take(1).Select(b => new Song { Id = b.Id, Title = b.Title }))
|
||||
.Where(a => a.Tag.Id == tag1.Id || a.Tag.Id == tag2.Id)
|
||||
.ToList(true);
|
||||
|
||||
var asongs2222 = g.sqlite.Select<Song>()
|
||||
.IncludeMany(a => a.Tags.Select(b => new Tag { Id = b.Id, Name = b.Name }),
|
||||
then => then.IncludeMany(t => t.Songs.Select(b => new Song { Id = b.Id, Title = b.Title })))
|
||||
.Where(a => a.Id == song1.Id || a.Id == song2.Id || a.Id == song3.Id)
|
||||
.ToList(a => new
|
||||
{
|
||||
a.Id, a.Is_deleted, a.Tags
|
||||
});
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
Reference in New Issue
Block a user