From 45c98cb299db48a5f1d67a2f4e89f8b34b0bbc73 Mon Sep 17 00:00:00 2001 From: 2881099 <2881099@qq.com> Date: Thu, 10 Dec 2020 18:50:45 +0800 Subject: [PATCH] update test code --- FreeSql.Tests/FreeSql.Tests/UnitTest4.cs | 39 ++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/FreeSql.Tests/FreeSql.Tests/UnitTest4.cs b/FreeSql.Tests/FreeSql.Tests/UnitTest4.cs index aea7beec..6d9b2744 100644 --- a/FreeSql.Tests/FreeSql.Tests/UnitTest4.cs +++ b/FreeSql.Tests/FreeSql.Tests/UnitTest4.cs @@ -13,6 +13,45 @@ namespace FreeSql.Tests { public class UnitTest4 { + [Fact] + public void OneToManyLazyloading() + { + var fsql = g.sqlite; + fsql.Delete().Where("1=1").ExecuteAffrows(); + fsql.Delete().Where("1=1").ExecuteAffrows(); + + var repo = fsql.GetRepository(); + repo.DbContextOptions.EnableAddOrUpdateNavigateList = true; + repo.Insert(new ts_otm_ll_01 + { + name = "001", + ll_02s = new List(new[] { + new ts_otm_ll_02 { title = "sub_001" }, + new ts_otm_ll_02 { title = "sub_002" }, + new ts_otm_ll_02 { title = "sub_003" } + }) + }); + + var item = fsql.Select().First(); + Assert.NotNull(item); + var childs = item.ll_02s; + Assert.NotNull(childs); + Assert.Equal(3, childs.Count); + } + public class ts_otm_ll_01 + { + public Guid id { get; set; } + public string name { get; set; } + [Navigate(nameof(ts_otm_ll_02.ll_01id))] + public virtual List ll_02s { get; set; } + } + public class ts_otm_ll_02 + { + public Guid id { get; set; } + public Guid ll_01id { get; set; } + public string title { get; set; } + } + [Fact] public void SelectLambdaParameter() {