- 增加 BaseEntity SaveMany 方法;

This commit is contained in:
28810
2020-03-06 13:13:47 +08:00
parent b71e7c1b23
commit ab52728f7f
7 changed files with 113 additions and 7 deletions

View File

@ -335,6 +335,57 @@ namespace FreeSql.Tests
public Guid CagetoryId { get; set; }
public string Name { get; set; }
}
[Fact]
public void SaveMany_OneToMany()
{
var repo = g.sqlite.GetRepository<Cagetory>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = false; //<2F>رռ<D8B1><D5BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6B9A6>
var cts = new[] {
new Cagetory
{
Name = "<22><><EFBFBD><EFBFBD>1",
Goodss = new List<Goods>(new[]
{
new Goods { Name = "<22><>Ʒ1" },
new Goods { Name = "<22><>Ʒ2" },
new Goods { Name = "<22><>Ʒ3" }
})
},
new Cagetory
{
Name = "<22><><EFBFBD><EFBFBD>2",
Goodss = new List<Goods>(new[]
{
new Goods { Name = "<22><>Ʒ4" },
new Goods { Name = "<22><>Ʒ5" }
})
}
};
repo.Insert(cts);
repo.SaveMany(cts[0], "Goodss"); //ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Goodss һ<>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
repo.SaveMany(cts[1], "Goodss"); //ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Goodss һ<>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
cts[0].Goodss.RemoveAt(1);
cts[1].Goodss.RemoveAt(1);
repo.SaveMany(cts[0], "Goodss"); //ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Goodss һ<>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
repo.SaveMany(cts[1], "Goodss"); //ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Goodss һ<>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
cts[0].Name = "<22><><EFBFBD><EFBFBD>11";
cts[0].Goodss.Clear();
cts[1].Name = "<22><><EFBFBD><EFBFBD>22";
cts[1].Goodss.Clear();
repo.Update(cts);
repo.SaveMany(cts[0], "Goodss"); //ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Goodss һ<>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
repo.SaveMany(cts[1], "Goodss"); //ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Goodss һ<>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
cts[0].Name = "<22><><EFBFBD><EFBFBD>111";
cts[0].Goodss.Clear();
cts[0].Goodss.Add(new Goods { Name = "<22><>Ʒ33" });
cts[1].Name = "<22><><EFBFBD><EFBFBD>222";
cts[1].Goodss.Clear();
cts[1].Goodss.Add(new Goods { Name = "<22><>Ʒ55" });
repo.Update(cts);
repo.SaveMany(cts[0], "Goodss"); //ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Goodss һ<>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
repo.SaveMany(cts[1], "Goodss"); //ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Goodss һ<>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
}
[Fact]
public void EnableAddOrUpdateNavigateList_OneToMany_Parent()
@ -417,7 +468,7 @@ namespace FreeSql.Tests
}
};
var repo = g.sqlite.GetRepository<Song>();
//repo.DbContextOptions.EnableAddOrUpdateNavigateList = false; //<2F>رռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true; //<2F>򿪼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
repo.Insert(ss);
//repo.SaveMany(ss[0], "Tags"); //ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Tags <20><><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>