- 调整 增加支持 OneToOne 级联保存,EnableAddOrUpdateNavigateList 改名为 EnableAddOrUpdateNavigate;

This commit is contained in:
2881099
2022-05-04 15:49:05 +08:00
parent c9fa4d8983
commit b0ac5a8739
38 changed files with 190 additions and 198 deletions

View File

@ -15,18 +15,17 @@ namespace FreeSql.Tests
var fsql = g.sqlite;
var groupRepo = fsql.GetRepository<DeleteCascadeUserGroup>();
var userRepo = fsql.GetRepository<DeleteCascadeUser>();
userRepo.DbContextOptions.EnableAddOrUpdateNavigate = true;
//OneToOne
fsql.Delete<DeleteCascadeUser>().Where("1=1").ExecuteAffrows();
fsql.Delete<DeleteCascadeUserExt>().Where("1=1").ExecuteAffrows();
var user = new DeleteCascadeUser { Username = "admin01", Password = "pwd01" };
var user = new DeleteCascadeUser { Username = "admin01", Password = "pwd01", UserExt = new DeleteCascadeUserExt { Remark = "用户备注01" } };
userRepo.Insert(user);
var userExt = new DeleteCascadeUserExt { UserId = user.Id, Remark = "用户备注01" };
Assert.Equal(1, fsql.Insert(userExt).ExecuteAffrows());
var ret = userRepo.DeleteCascade(user);
Assert.Equal(2, ret.Count);
Assert.IsType<DeleteCascadeUserExt>(ret[0]);
Assert.Equal(userExt.UserId, (ret[0] as DeleteCascadeUserExt).UserId);
Assert.Equal(userExt.Remark, (ret[0] as DeleteCascadeUserExt).Remark);
Assert.Equal(user.UserExt.UserId, (ret[0] as DeleteCascadeUserExt).UserId);
Assert.Equal(user.UserExt.Remark, (ret[0] as DeleteCascadeUserExt).Remark);
Assert.IsType<DeleteCascadeUser>(ret[1]);
Assert.Equal(user.Id, (ret[1] as DeleteCascadeUser).Id);
Assert.Equal(user.Username, (ret[1] as DeleteCascadeUser).Username);
@ -35,15 +34,13 @@ namespace FreeSql.Tests
//OneToOne 先删除 UserExt
fsql.Delete<DeleteCascadeUser>().Where("1=1").ExecuteAffrows();
fsql.Delete<DeleteCascadeUserExt>().Where("1=1").ExecuteAffrows();
user = new DeleteCascadeUser { Username = "admin01", Password = "pwd01" };
user = new DeleteCascadeUser { Username = "admin01", Password = "pwd01", UserExt = new DeleteCascadeUserExt { Remark = "用户备注01" } };
userRepo.Insert(user);
userExt = new DeleteCascadeUserExt { UserId = user.Id, Remark = "用户备注01" };
Assert.Equal(1, fsql.Insert(userExt).ExecuteAffrows());
ret = fsql.GetRepository<DeleteCascadeUserExt>().DeleteCascade(userExt);
ret = fsql.GetRepository<DeleteCascadeUserExt>().DeleteCascade(user.UserExt);
Assert.Equal(2, ret.Count);
Assert.IsType<DeleteCascadeUserExt>(ret[1]);
Assert.Equal(userExt.UserId, (ret[1] as DeleteCascadeUserExt).UserId);
Assert.Equal(userExt.Remark, (ret[1] as DeleteCascadeUserExt).Remark);
Assert.Equal(user.UserExt.UserId, (ret[1] as DeleteCascadeUserExt).UserId);
Assert.Equal(user.UserExt.Remark, (ret[1] as DeleteCascadeUserExt).Remark);
Assert.IsType<DeleteCascadeUser>(ret[0]);
Assert.Equal(user.Id, (ret[0] as DeleteCascadeUser).Id);
Assert.Equal(user.Username, (ret[0] as DeleteCascadeUser).Username);
@ -53,38 +50,32 @@ namespace FreeSql.Tests
fsql.Delete<DeleteCascadeUserGroup>().Where("1=1").ExecuteAffrows();
fsql.Delete<DeleteCascadeUser>().Where("1=1").ExecuteAffrows();
fsql.Delete<DeleteCascadeUserExt>().Where("1=1").ExecuteAffrows();
groupRepo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
groupRepo.DbContextOptions.EnableAddOrUpdateNavigate = true;
var group = new DeleteCascadeUserGroup
{
GroupName = "group01",
Users = new List<DeleteCascadeUser>
{
new DeleteCascadeUser { Username = "admin01", Password = "pwd01" },
new DeleteCascadeUser { Username = "admin02", Password = "pwd02" },
new DeleteCascadeUser { Username = "admin03", Password = "pwd03" },
new DeleteCascadeUser { Username = "admin01", Password = "pwd01", UserExt = new DeleteCascadeUserExt { Remark = "用户备注01" } },
new DeleteCascadeUser { Username = "admin02", Password = "pwd02", UserExt = new DeleteCascadeUserExt { Remark = "用户备注02" } },
new DeleteCascadeUser { Username = "admin03", Password = "pwd03", UserExt = new DeleteCascadeUserExt { Remark = "用户备注03" } },
}
};
groupRepo.Insert(group);
Assert.Equal(group.Id, group.Users[0].GroupId);
Assert.Equal(group.Id, group.Users[1].GroupId);
Assert.Equal(group.Id, group.Users[2].GroupId);
var userExt0 = new DeleteCascadeUserExt { UserId = group.Users[0].Id, Remark = "用户备注01" };
Assert.Equal(1, fsql.Insert(userExt0).ExecuteAffrows());
var userExt1 = new DeleteCascadeUserExt { UserId = group.Users[1].Id, Remark = "用户备注02" };
Assert.Equal(1, fsql.Insert(userExt1).ExecuteAffrows());
var userExt2 = new DeleteCascadeUserExt { UserId = group.Users[2].Id, Remark = "用户备注03" };
Assert.Equal(1, fsql.Insert(userExt2).ExecuteAffrows());
ret = groupRepo.DeleteCascade(group);
Assert.Equal(7, ret.Count);
Assert.IsType<DeleteCascadeUserExt>(ret[0]);
Assert.Equal(userExt0.UserId, (ret[0] as DeleteCascadeUserExt).UserId);
Assert.Equal(userExt0.Remark, (ret[0] as DeleteCascadeUserExt).Remark);
Assert.Equal(group.Users[0].UserExt.UserId, (ret[0] as DeleteCascadeUserExt).UserId);
Assert.Equal(group.Users[0].UserExt.Remark, (ret[0] as DeleteCascadeUserExt).Remark);
Assert.IsType<DeleteCascadeUserExt>(ret[1]);
Assert.Equal(userExt1.UserId, (ret[1] as DeleteCascadeUserExt).UserId);
Assert.Equal(userExt1.Remark, (ret[1] as DeleteCascadeUserExt).Remark);
Assert.Equal(group.Users[1].UserExt.UserId, (ret[1] as DeleteCascadeUserExt).UserId);
Assert.Equal(group.Users[1].UserExt.Remark, (ret[1] as DeleteCascadeUserExt).Remark);
Assert.IsType<DeleteCascadeUserExt>(ret[2]);
Assert.Equal(userExt2.UserId, (ret[2] as DeleteCascadeUserExt).UserId);
Assert.Equal(userExt2.Remark, (ret[2] as DeleteCascadeUserExt).Remark);
Assert.Equal(group.Users[2].UserExt.UserId, (ret[2] as DeleteCascadeUserExt).UserId);
Assert.Equal(group.Users[2].UserExt.Remark, (ret[2] as DeleteCascadeUserExt).Remark);
Assert.IsType<DeleteCascadeUser>(ret[3]);
Assert.Equal(group.Users[0].Id, (ret[3] as DeleteCascadeUser).Id);
Assert.Equal(group.Users[0].Username, (ret[3] as DeleteCascadeUser).Username);
@ -118,39 +109,33 @@ namespace FreeSql.Tests
new DeleteCascadeTag { TagName = "tag08" },
};
fsql.GetRepository<DeleteCascadeTag>().Insert(tags);
groupRepo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
groupRepo.DbContextOptions.EnableAddOrUpdateNavigate = true;
group = new DeleteCascadeUserGroup
{
GroupName = "group01",
Users = new List<DeleteCascadeUser>
{
new DeleteCascadeUser { Username = "admin01", Password = "pwd01", Tags = new List<DeleteCascadeTag> { tags[0], tags[2], tags[3], tags[6] } },
new DeleteCascadeUser { Username = "admin02", Password = "pwd02", Tags = new List<DeleteCascadeTag> { tags[1], tags[2], tags[5] } },
new DeleteCascadeUser { Username = "admin03", Password = "pwd03", Tags = new List<DeleteCascadeTag> { tags[3], tags[4], tags[6], tags[7] } },
new DeleteCascadeUser { Username = "admin01", Password = "pwd01", UserExt = new DeleteCascadeUserExt { Remark = "用户备注01" }, Tags = new List<DeleteCascadeTag> { tags[0], tags[2], tags[3], tags[6] } },
new DeleteCascadeUser { Username = "admin02", Password = "pwd02", UserExt = new DeleteCascadeUserExt { Remark = "用户备注02" }, Tags = new List<DeleteCascadeTag> { tags[1], tags[2], tags[5] } },
new DeleteCascadeUser { Username = "admin03", Password = "pwd03", UserExt = new DeleteCascadeUserExt { Remark = "用户备注03" }, Tags = new List<DeleteCascadeTag> { tags[3], tags[4], tags[6], tags[7] } },
}
};
groupRepo.Insert(group);
Assert.Equal(group.Id, group.Users[0].GroupId);
Assert.Equal(group.Id, group.Users[1].GroupId);
Assert.Equal(group.Id, group.Users[2].GroupId);
userExt0 = new DeleteCascadeUserExt { UserId = group.Users[0].Id, Remark = "用户备注01" };
Assert.Equal(1, fsql.Insert(userExt0).ExecuteAffrows());
userExt1 = new DeleteCascadeUserExt { UserId = group.Users[1].Id, Remark = "用户备注02" };
Assert.Equal(1, fsql.Insert(userExt1).ExecuteAffrows());
userExt2 = new DeleteCascadeUserExt { UserId = group.Users[2].Id, Remark = "用户备注03" };
Assert.Equal(1, fsql.Insert(userExt2).ExecuteAffrows());
ret = groupRepo.DeleteCascade(group);
Assert.Equal(18, ret.Count);
Assert.IsType<DeleteCascadeUserExt>(ret[0]);
Assert.Equal(userExt0.UserId, (ret[0] as DeleteCascadeUserExt).UserId);
Assert.Equal(userExt0.Remark, (ret[0] as DeleteCascadeUserExt).Remark);
Assert.Equal(group.Users[0].UserExt.UserId, (ret[0] as DeleteCascadeUserExt).UserId);
Assert.Equal(group.Users[0].UserExt.Remark, (ret[0] as DeleteCascadeUserExt).Remark);
Assert.IsType<DeleteCascadeUserExt>(ret[1]);
Assert.Equal(userExt1.UserId, (ret[1] as DeleteCascadeUserExt).UserId);
Assert.Equal(userExt1.Remark, (ret[1] as DeleteCascadeUserExt).Remark);
Assert.Equal(group.Users[1].UserExt.UserId, (ret[1] as DeleteCascadeUserExt).UserId);
Assert.Equal(group.Users[1].UserExt.Remark, (ret[1] as DeleteCascadeUserExt).Remark);
Assert.IsType<DeleteCascadeUserExt>(ret[2]);
Assert.Equal(userExt2.UserId, (ret[2] as DeleteCascadeUserExt).UserId);
Assert.Equal(userExt2.Remark, (ret[2] as DeleteCascadeUserExt).Remark);
Assert.Equal(group.Users[2].UserExt.UserId, (ret[2] as DeleteCascadeUserExt).UserId);
Assert.Equal(group.Users[2].UserExt.Remark, (ret[2] as DeleteCascadeUserExt).Remark);
Assert.IsType<DeleteCascadeUserTag>(ret[3]);
Assert.Equal(group.Users[0].Id, (ret[3] as DeleteCascadeUserTag).UserId);
@ -480,10 +465,10 @@ namespace FreeSql.Tests
}
[Fact]
public void EnableAddOrUpdateNavigateList_OneToMany()
public void EnableAddOrUpdateNavigate_OneToMany()
{
var repo = g.sqlite.GetRepository<Cagetory>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
var cts = new[] {
new Cagetory
{
@ -543,10 +528,10 @@ namespace FreeSql.Tests
}
[Fact]
public void EnableAddOrUpdateNavigateList_OneToMany_lazyloading()
public void EnableAddOrUpdateNavigate_OneToMany_lazyloading()
{
var repo = g.sqlite.GetRepository<CagetoryLD>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
var cts = new[] {
new CagetoryLD
{
@ -615,7 +600,7 @@ namespace FreeSql.Tests
public void SaveMany_OneToMany()
{
var repo = g.sqlite.GetRepository<Cagetory>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = false; //关闭级联保存功能
repo.DbContextOptions.EnableAddOrUpdateNavigate = false; //关闭级联保存功能
var cts = new[] {
new Cagetory
{
@ -664,7 +649,7 @@ namespace FreeSql.Tests
}
[Fact]
public void EnableAddOrUpdateNavigateList_OneToMany_Parent()
public void EnableAddOrUpdateNavigate_OneToMany_Parent()
{
g.sqlite.Delete<CagetoryParent>().Where("1=1").ExecuteAffrows();
var repo = g.sqlite.GetRepository<CagetoryParent>();
@ -689,7 +674,7 @@ namespace FreeSql.Tests
})
}
};
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true; //打开级联保存功能
repo.DbContextOptions.EnableAddOrUpdateNavigate = true; //打开级联保存功能
repo.Insert(cts);
var notreelist1 = repo.Select.ToList();
@ -722,7 +707,7 @@ namespace FreeSql.Tests
}
[Fact]
public void EnableAddOrUpdateNavigateList_ManyToMany()
public void EnableAddOrUpdateNavigate_ManyToMany()
{
var tags = new[] {
new Tag { TagName = "流行" },
@ -750,7 +735,7 @@ namespace FreeSql.Tests
}
};
var repo = g.sqlite.GetRepository<Song>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true; //打开级联保存功能
repo.DbContextOptions.EnableAddOrUpdateNavigate = true; //打开级联保存功能
repo.Insert(ss);
ss[0].Tags[0].TagName = "流行101";

View File

@ -1,4 +1,4 @@
using FreeSql.DataAnnotations;
using FreeSql.DataAnnotations;
using FreeSql;
using System;
using System.Collections.Generic;
@ -75,7 +75,7 @@ namespace FreeSql.Tests
tags.Add(new Tag
{
Ddd = DateTime.Now.Second,
Name = "test_manytoMany_01_<EFBFBD>й<EFBFBD>2234234"
Name = "test_manytoMany_01_中国2234234"
});
tags[0].Name = "123123";
tags.RemoveAt(1);
@ -99,36 +99,36 @@ namespace FreeSql.Tests
var tag1 = new Tag
{
Ddd = DateTime.Now.Second,
Name = "test_manytoMany_01_<EFBFBD>й<EFBFBD>"
Name = "test_manytoMany_01_中国"
};
var tag2 = new Tag
{
Ddd = DateTime.Now.Second,
Name = "test_manytoMany_02_<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
Name = "test_manytoMany_02_美国"
};
var tag3 = new Tag
{
Ddd = DateTime.Now.Second,
Name = "test_manytoMany_03_<EFBFBD>ձ<EFBFBD>"
Name = "test_manytoMany_03_日本"
};
ctx.AddRange(new[] { tag1, tag2, tag3 });
var song1 = new Song
{
Create_time = DateTime.Now,
Title = "test_manytoMany_01_<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><EFBFBD><EFBFBD>.mp3",
Title = "test_manytoMany_01_我是中国人.mp3",
Url = "http://ww.baidu.com/"
};
var song2 = new Song
{
Create_time = DateTime.Now,
Title = "test_manytoMany_02_<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>.mp3",
Title = "test_manytoMany_02_爱你一万年.mp3",
Url = "http://ww.163.com/"
};
var song3 = new Song
{
Create_time = DateTime.Now,
Title = "test_manytoMany_03_ǧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>.mp3",
Title = "test_manytoMany_03_千年等一回.mp3",
Url = "http://ww.sina.com/"
};
ctx.AddRange(new[] { song1, song2, song3 });
@ -155,7 +155,7 @@ namespace FreeSql.Tests
g.sqlite.SetDbContextOptions(opt =>
{
//opt.EnableAddOrUpdateNavigateList = false;
//opt.EnableAddOrUpdateNavigate = false;
});
g.mysql.Insert<testenumWhere>().AppendData(new testenumWhere { type = testenumWhereType.Blaaa }).ExecuteAffrows();
@ -163,11 +163,11 @@ namespace FreeSql.Tests
var sql = g.mysql.Select<testenumWhere>().Where(a => a.type == testenumWhereType.Blaaa).ToSql();
var tolist = g.mysql.Select<testenumWhere>().Where(a => a.type == testenumWhereType.Blaaa).ToList();
//֧<EFBFBD><EFBFBD> 1<>Զ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//支持 1对多 级联保存
using (var ctx = g.sqlite.CreateDbContext())
{
ctx.Options.EnableAddOrUpdateNavigateList = true;
ctx.Options.EnableAddOrUpdateNavigate = true;
var tags = ctx.Set<Tag>().Select.IncludeMany(a => a.Tags).ToList();
var tag = new Tag
@ -195,11 +195,11 @@ namespace FreeSql.Tests
[Fact]
public void Update()
{
//<EFBFBD><EFBFBD>ѯ 1<>Զ࣬<D4B6>ټ<EFBFBD><D9BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//查询 1对多再级联保存
using (var ctx = g.sqlite.CreateDbContext())
{
ctx.Options.EnableAddOrUpdateNavigateList = true;
ctx.Options.EnableAddOrUpdateNavigate = true;
var tag = ctx.Set<Tag>().Select.First();
tag.Tags.Add(new Tag { Name = "sub3" });
tag.Name = Guid.NewGuid().ToString();

View File

@ -191,7 +191,7 @@ WHERE (exists(SELECT 1
g.gbase.Delete<District>().Where("1=1").ExecuteAffrows();
var repo = g.gbase.GetRepository<District>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.Insert(new District
{
Code = "001",
@ -1704,7 +1704,7 @@ WHERE (((cast(a.Id as varchar(8000))) in ( SELECT * FROM (SELECT FIRST 10 b.Titl
var fsql = g.gbase;
fsql.Delete<BaseDistrict>().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository<VM_District_Child>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{

View File

@ -384,7 +384,7 @@ WHERE (((a.`Name`) in (SELECT s.`Title` as1
g.mysql.Delete<District>().Where("1=1").ExecuteAffrows();
var repo = g.mysql.GetRepository<District>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.Insert(new District
{
Code = "001",
@ -2001,7 +2001,7 @@ WHERE ((b.`IsFinished` OR a.`TaskType` = 3) AND b.`EnabledMark` = 1)", groupsql1
var fsql = g.mysql;
fsql.Delete<BaseDistrict>().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository<VM_District_Child>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{

View File

@ -194,7 +194,7 @@ namespace FreeSql.Tests.Odbc.Dameng
g.dameng.Delete<District>().Where("1=1").ExecuteAffrows();
var repo = g.dameng.GetRepository<District>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.Insert(new District
{
Code = "001",
@ -1728,7 +1728,7 @@ WHERE (((to_char(a.""ID"")) in (SELECT b.""TITLE""
var fsql = g.dameng;
fsql.Delete<BaseDistrict>().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository<VM_District_Child>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{

View File

@ -185,7 +185,7 @@ namespace FreeSql.Tests.Odbc.Default
g.odbc.Delete<District>().Where("1=1").ExecuteAffrows();
var repo = g.odbc.GetRepository<District>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.Insert(new District
{
Code = "001",
@ -1517,7 +1517,7 @@ WHERE (((cast(a.[Id] as nvarchar)) in (SELECT b.[Title]
var fsql = g.odbc;
fsql.Delete<BaseDistrict>().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository<VM_District_Child>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{

View File

@ -194,7 +194,7 @@ namespace FreeSql.Tests.Odbc.KingbaseES
g.kingbaseES.Delete<District>().Where("1=1").ExecuteAffrows();
var repo = g.kingbaseES.GetRepository<District>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.Insert(new District
{
Code = "001",
@ -1677,7 +1677,7 @@ WHERE ((((a.""ID"")::text) in (SELECT b.""TITLE""
var fsql = g.kingbaseES;
fsql.Delete<BaseDistrict>().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository<VM_District_Child>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{

View File

@ -294,7 +294,7 @@ namespace FreeSql.Tests.Odbc.MySql
g.mysql.Delete<District>().Where("1=1").ExecuteAffrows();
var repo = g.mysql.GetRepository<District>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.Insert(new District
{
Code = "001",
@ -1881,7 +1881,7 @@ WHERE ((b.`IsFinished` OR a.`TaskType` = 3) AND b.`EnabledMark` = 1)", groupsql1
var fsql = g.mysql;
fsql.Delete<BaseDistrict>().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository<VM_District_Child>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{

View File

@ -194,7 +194,7 @@ namespace FreeSql.Tests.Odbc.Oracle
g.oracle.Delete<District>().Where("1=1").ExecuteAffrows();
var repo = g.oracle.GetRepository<District>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.Insert(new District
{
Code = "001",
@ -1720,7 +1720,7 @@ WHERE (((to_char(a.""ID"")) in (SELECT b.""TITLE""
var fsql = g.oracle;
fsql.Delete<BaseDistrict>().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository<VM_District_Child>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{

View File

@ -270,7 +270,7 @@ namespace FreeSql.Tests.Odbc.PostgreSQL
g.pgsql.Delete<District>().Where("1=1").ExecuteAffrows();
var repo = g.pgsql.GetRepository<District>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.Insert(new District
{
Code = "001",
@ -1780,7 +1780,7 @@ WHERE ((((a.""id"")::text) in (SELECT b.""title""
var fsql = g.pgsql;
fsql.Delete<BaseDistrict>().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository<VM_District_Child>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{

View File

@ -1,4 +1,4 @@
using FreeSql.DataAnnotations;
using FreeSql.DataAnnotations;
using System;
using System.Collections.Generic;
using System.Linq;
@ -184,7 +184,7 @@ namespace FreeSql.Tests.Odbc.SqlServer
g.sqlserver.Delete<District>().Where("1=1").ExecuteAffrows();
var repo = g.sqlserver.GetRepository<District>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.Insert(new District
{
Code = "001",
@ -1666,7 +1666,7 @@ WHERE (((cast(a.[Id] as nvarchar(100))) in (SELECT b.[Title]
var fsql = g.sqlserver;
fsql.Delete<BaseDistrict>().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository<VM_District_Child>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{

View File

@ -532,7 +532,7 @@ WHERE ROWNUM < 11";
).ToSql();
g.mysql.SetDbContextOptions(opt => opt.EnableAddOrUpdateNavigateList = true);
g.mysql.SetDbContextOptions(opt => opt.EnableAddOrUpdateNavigate = true);
var trepo = g.mysql.GetGuidRepository<TaskBuild>();
trepo.Insert(new TaskBuild
{

View File

@ -1,4 +1,4 @@
using FreeSql.DataAnnotations;
using FreeSql.DataAnnotations;
using FreeSql.Internal.Model;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
@ -234,7 +234,7 @@ namespace FreeSql.Tests.Sqlite
g.sqlite.Delete<District>().Where("1=1").ExecuteAffrows();
var repo = g.sqlite.GetRepository<District>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.Insert(new District
{
Code = "001",
@ -2072,7 +2072,7 @@ WHERE (((cast(a.""Id"" as character)) in (SELECT b.""Title""
var fsql = g.sqlite;
fsql.Delete<BaseDistrict>().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository<VM_District_Child>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{

View File

@ -309,7 +309,7 @@ WHERE (((a.""NAME"") in (SELECT s.""TITLE"" as1
g.dameng.Delete<District>().Where("1=1").ExecuteAffrows();
var repo = g.dameng.GetRepository<District>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.Insert(new District
{
Code = "001",
@ -1867,7 +1867,7 @@ WHERE (((to_char(a.""ID"")) in (SELECT b.""TITLE""
var fsql = g.dameng;
fsql.Delete<BaseDistrict>().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository<VM_District_Child>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{

View File

@ -309,7 +309,7 @@ WHERE (((a.""NAME"") in (SELECT s.""TITLE"" as1
g.firebird.Delete<District>().Where("1=1").ExecuteAffrows();
var repo = g.firebird.GetRepository<District>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.Insert(new District
{
Code = "001",
@ -1834,7 +1834,7 @@ WHERE (((cast(a.""ID"" as blob sub_type 1)) in (SELECT FIRST 10 b.""TITLE""
var fsql = g.firebird;
fsql.Delete<BaseDistrict>().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository<VM_District_Child>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{

View File

@ -194,7 +194,7 @@ namespace FreeSql.Tests.KingbaseES
g.kingbaseES.Delete<District>().Where("1=1").ExecuteAffrows();
var repo = g.kingbaseES.GetRepository<District>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.Insert(new District
{
Code = "001",
@ -1681,7 +1681,7 @@ WHERE ((((a.""ID"")::text) in (SELECT b.""TITLE""
var fsql = g.kingbaseES;
fsql.Delete<BaseDistrict>().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository<VM_District_Child>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{

View File

@ -59,7 +59,7 @@ namespace FreeSql.Tests.Linq
}
};
var repo = fsql.GetRepository<qt01>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.Insert(sd);
Assert.True(fsql.Select<qt01>().AsQueryable().Any());

View File

@ -300,7 +300,7 @@ WHERE (((a.[Name]) in (SELECT s.[Title] as as1
g.msaccess.Delete<District>().Where("1=1").ExecuteAffrows();
var repo = g.msaccess.GetRepository<District>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.Insert(new District
{
Code = "001",
@ -1645,7 +1645,7 @@ WHERE (((cstr(a.[Id])) in (SELECT TOP 10 b.[Title]
var fsql = g.msaccess;
fsql.Delete<BaseDistrict>().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository<VM_District_Child>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{

View File

@ -427,7 +427,7 @@ WHERE (((a.`Name`) in (SELECT s.`Title` as1
g.mysql.Delete<District>().Where("1=1").ExecuteAffrows();
var repo = g.mysql.GetRepository<District>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.Insert(new District
{
Code = "001",
@ -2090,7 +2090,7 @@ WHERE ((b.`IsFinished` OR a.`TaskType` = 3) AND b.`EnabledMark` = 1)", groupsql1
var fsql = g.mysql;
fsql.Delete<BaseDistrict>().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository<VM_District_Child>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{

View File

@ -309,7 +309,7 @@ WHERE (((a.""NAME"") in (SELECT s.""TITLE"" as1
g.oracle.Delete<District>().Where("1=1").ExecuteAffrows();
var repo = g.oracle.GetRepository<District>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.Insert(new District
{
Code = "001",
@ -1843,7 +1843,7 @@ WHERE (((to_char(a.""ID"")) in (SELECT b.""TITLE""
var fsql = g.oracle;
fsql.Delete<BaseDistrict>().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository<VM_District_Child>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{

View File

@ -401,7 +401,7 @@ WHERE (((a.""name"") in (SELECT s.""title"" as1
g.pgsql.Delete<District>().Where("1=1").ExecuteAffrows();
var repo = g.pgsql.GetRepository<District>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.Insert(new District
{
Code = "001",
@ -1927,7 +1927,7 @@ WHERE ((((a.""id"")::text) in (SELECT b.""title""
var fsql = g.pgsql;
fsql.Delete<BaseDistrict>().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository<VM_District_Child>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{

View File

@ -270,7 +270,7 @@ namespace FreeSql.Tests.ShenTong
g.shentong.Delete<District>().Where("1=1").ExecuteAffrows();
var repo = g.shentong.GetRepository<District>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.Insert(new District
{
Code = "001",
@ -1789,7 +1789,7 @@ WHERE ((((a.""ID"")::text) in (SELECT b.""TITLE""
var fsql = g.shentong;
fsql.Delete<BaseDistrict>().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository<VM_District_Child>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{

View File

@ -306,7 +306,7 @@ WHERE (((a.[Name]) in (SELECT s.[Title] as1
g.sqlserver.Delete<District>().Where("1=1").ExecuteAffrows();
var repo = g.sqlserver.GetRepository<District>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.Insert(new District
{
Code = "001",
@ -1910,7 +1910,7 @@ INNER JOIN [TestTypeInfo] a__Type With(NoLock) ON a__Type.[Guid] = a.[Id]", sql2
var fsql = g.sqlserver;
fsql.Delete<BaseDistrict>().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository<VM_District_Child>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{

View File

@ -354,7 +354,7 @@ WHERE (((a.""Name"") in (SELECT s.""Title"" as1
g.sqlite.Delete<District>().Where("1=1").ExecuteAffrows();
var repo = g.sqlite.GetRepository<District>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.Insert(new District
{
Code = "001",
@ -2217,7 +2217,7 @@ WHERE (((cast(a.""Id"" as character)) in (SELECT b.""Title""
var fsql = g.sqlite;
fsql.Delete<BaseDistrict>().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository<VM_District_Child>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{

View File

@ -830,7 +830,7 @@ namespace FreeSql.Tests
).ToSql();
g.sqlite.SetDbContextOptions(opt => opt.EnableAddOrUpdateNavigateList = true);
g.sqlite.SetDbContextOptions(opt => opt.EnableAddOrUpdateNavigate = true);
var trepo = g.sqlite.GetGuidRepository<TaskBuild>();
trepo.Insert(new TaskBuild
{
@ -1146,7 +1146,7 @@ namespace FreeSql.Tests
};
var repo = g.mysql.GetRepository<Order>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.Insert(neworder);
var order = g.mysql.Select<Order>().Where(a => a.Id == neworder.Id).ToOne(); //查询订单表

View File

@ -210,7 +210,7 @@ namespace FreeSql.Tests
g.sqlite.Delete<tcate01>().Where("1=1").ExecuteAffrows();
g.sqlite.Delete<tshop01>().Where("1=1").ExecuteAffrows();
var tshoprepo = g.sqlite.GetRepository<tcate01>();
tshoprepo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
tshoprepo.DbContextOptions.EnableAddOrUpdateNavigate = true;
tshoprepo.Insert(new tcate01[]
{
new tcate01 { name = "tcate1", tshops = new List<tshop01>{ new tshop01(), new tshop01(), new tshop01() } },

View File

@ -304,7 +304,7 @@ GROUP BY a.""code"", a.""seqid"", a.""name""", sql);
fsql.Delete<ts_otm_ll_02>().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository<ts_otm_ll_01>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.Insert(new ts_otm_ll_01
{
name = "001",