From b0ac5a873978050866978525fae6a661e72c726c Mon Sep 17 00:00:00 2001
From: 2881099 <2881099@qq.com>
Date: Wed, 4 May 2022 15:49:05 +0800
Subject: [PATCH] =?UTF-8?q?-=20=E8=B0=83=E6=95=B4=20=E5=A2=9E=E5=8A=A0?=
=?UTF-8?q?=E6=94=AF=E6=8C=81=20OneToOne=20=E7=BA=A7=E8=81=94=E4=BF=9D?=
=?UTF-8?q?=E5=AD=98=EF=BC=8CEnableAddOrUpdateNavigateList=20=E6=94=B9?=
=?UTF-8?q?=E5=90=8D=E4=B8=BA=20=20EnableAddOrUpdateNavigate=EF=BC=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
FreeSql.DbContext/DbContext/DbContext.cs | 2 +-
.../DbContext/DbContextOptions.cs | 15 ++--
FreeSql.DbContext/DbSet/DbSetAsync.cs | 58 ++++++------
FreeSql.DbContext/DbSet/DbSetSync.cs | 64 ++++++-------
.../EfCoreFluentApi/EfCoreTableFluent.cs | 4 +-
.../EfCoreFluentApi/EfCoreTableFluent`1.cs | 4 +-
FreeSql.DbContext/FreeSql.DbContext.xml | 18 ++--
.../RepositoryTests.cs | 89 ++++++++-----------
.../FreeSql.Tests.DbContext/UnitTest1.cs | 26 +++---
.../GBase/Curd/GBaseSelectTest.cs | 4 +-
.../MySqlConnector/Curd/MySqlSelectTest.cs | 4 +-
.../Dameng/Curd/DamengSelectTest.cs | 4 +-
.../Default/Curd/OdbcSelectTest.cs | 4 +-
.../KingbaseES/Curd/KingbaseESSelectTest.cs | 4 +-
.../MySql/Curd/MySqlSelectTest.cs | 4 +-
.../Oracle/Curd/OracleSelectTest.cs | 4 +-
.../PostgreSQL/Curd/PostgreSQLSelectTest.cs | 4 +-
.../SqlServer/Curd/SqlServerSelectTest.cs | 6 +-
.../FreeSql.Tests.Provider.Odbc/UnitTest1.cs | 2 +-
.../Sqlite/Curd/SqliteSelectTest.cs | 6 +-
.../Dameng/Curd/DamengSelectTest.cs | 4 +-
.../Firebird/Curd/FirebirdSelectTest.cs | 4 +-
.../KingbaseES/Curd/KingbaseESSelectTest.cs | 4 +-
.../FreeSql.Tests/Linq/QueryableTest.cs | 2 +-
.../MsAccess/Curd/MsAccessSelectTest.cs | 4 +-
.../MySql/Curd/MySqlSelectTest.cs | 4 +-
.../Oracle/Curd/OracleSelectTest.cs | 4 +-
.../PostgreSQL/Curd/PostgreSQLSelectTest.cs | 4 +-
.../ShenTong/Curd/ShenTongSelectTest.cs | 4 +-
.../SqlServer/Curd/SqlServerSelectTest.cs | 4 +-
.../Sqlite/Curd/SqliteSelectTest.cs | 4 +-
FreeSql.Tests/FreeSql.Tests/UnitTest1.cs | 4 +-
FreeSql.Tests/FreeSql.Tests/UnitTest3.cs | 2 +-
FreeSql.Tests/FreeSql.Tests/UnitTest4.cs | 2 +-
.../Curd/MySqlDelete.cs | 4 +-
.../Curd/SqliteInsert.cs | 4 +-
README.md | 2 +-
README.zh-CN.md | 2 +-
38 files changed, 190 insertions(+), 198 deletions(-)
diff --git a/FreeSql.DbContext/DbContext/DbContext.cs b/FreeSql.DbContext/DbContext/DbContext.cs
index 1415eaa1..c0cceeb4 100644
--- a/FreeSql.DbContext/DbContext/DbContext.cs
+++ b/FreeSql.DbContext/DbContext/DbContext.cs
@@ -46,7 +46,7 @@ namespace FreeSql
_optionsPriv = new DbContextOptions();
if (FreeSqlDbContextExtensions._dicSetDbContextOptions.TryGetValue(OrmOriginal.Ado.Identifier, out var opt))
{
- _optionsPriv.EnableAddOrUpdateNavigateList = opt.EnableAddOrUpdateNavigateList;
+ _optionsPriv.EnableAddOrUpdateNavigate = opt.EnableAddOrUpdateNavigate;
_optionsPriv.EnableGlobalFilter = opt.EnableGlobalFilter;
_optionsPriv.NoneParameter = opt.NoneParameter;
_optionsPriv.OnEntityChange = opt.OnEntityChange;
diff --git a/FreeSql.DbContext/DbContext/DbContextOptions.cs b/FreeSql.DbContext/DbContext/DbContextOptions.cs
index 1263a0b7..483958ba 100644
--- a/FreeSql.DbContext/DbContext/DbContextOptions.cs
+++ b/FreeSql.DbContext/DbContext/DbContextOptions.cs
@@ -7,20 +7,21 @@ namespace FreeSql
{
public class DbContextOptions
{
-
///
- /// 是否开启一对多,多对多级联保存功能
+ /// 是否开启 一对一(OneToOne)、一对多(OneToMany)、多对多(ManyToMany) 级联保存功能
///
- /// 【一对多】模型下, 保存时可级联保存实体的属性集合。出于使用安全考虑我们没做完整对比,只实现实体属性集合的添加或更新操作,所以不会删除实体属性集合的数据。
+ /// 【一对一】模型下,保存时级联保存 OneToOne 属性。
+ ///
+ /// 【一对多】模型下,保存时级联保存 OneToMany 集合属性。出于安全考虑我们没做完整对比,只针对实体属性集合的添加或更新操作,因此不会删除数据库表已有的数据。
/// 完整对比的功能使用起来太危险,试想下面的场景:
- /// - 保存的时候,实体的属性集合是空的,如何操作?记录全部删除?
- /// - 保存的时候,由于数据库中记录非常之多,那么只想保存子表的部分数据,或者只需要添加,如何操作?
+ /// - 保存的时候,实体的属性集合为空时(!=null),表记录全部删除?
+ /// - 保存的时候,由于数据库子表的记录很多,只想保存子表的部分数据,又或者只需要添加,如何操作?
///
- /// 【多对多】模型下,我们对中间表的保存是完整对比操作,对外部实体的操作只作新增(*注意不会更新)
+ /// 【多对多】模型下,对中间表的保存是完整对比操作,对外部实体的只作新增操作(*注意不会更新)
/// - 属性集合为空时(!=null),删除他们的所有关联数据(中间表)
/// - 属性集合不为空时,与数据库存在的关联数据(中间表)完全对比,计算出应该删除和添加的记录
///
- public bool EnableAddOrUpdateNavigateList { get; set; } = false;
+ public bool EnableAddOrUpdateNavigate { get; set; } = false;
///
/// 使用无参数化设置(对应 IInsert/IUpdate)
diff --git a/FreeSql.DbContext/DbSet/DbSetAsync.cs b/FreeSql.DbContext/DbSet/DbSetAsync.cs
index 504d9282..4fcbe3d2 100644
--- a/FreeSql.DbContext/DbSet/DbSetAsync.cs
+++ b/FreeSql.DbContext/DbSet/DbSetAsync.cs
@@ -54,8 +54,8 @@ namespace FreeSql
_db.OrmOriginal.SetEntityValueWithPropertyName(_entityType, data, _tableIdentitys[0].CsName, idtval);
_db._entityChangeReport.Add(new DbContext.EntityChangeReport.ChangeInfo { Object = data, Type = DbContext.EntityChangeType.Insert });
Attach(data);
- if (_db.Options.EnableAddOrUpdateNavigateList)
- await AddOrUpdateNavigateListAsync(data, true, null, cancellationToken);
+ if (_db.Options.EnableAddOrUpdateNavigate)
+ await AddOrUpdateNavigateAsync(data, true, null, cancellationToken);
}
else
{
@@ -65,8 +65,8 @@ namespace FreeSql
IncrAffrows(1);
_db.OrmOriginal.MapEntityValue(_entityType, newval, data);
Attach(newval);
- if (_db.Options.EnableAddOrUpdateNavigateList)
- await AddOrUpdateNavigateListAsync(data, true, null, cancellationToken);
+ if (_db.Options.EnableAddOrUpdateNavigate)
+ await AddOrUpdateNavigateAsync(data, true, null, cancellationToken);
}
return;
default:
@@ -78,8 +78,8 @@ namespace FreeSql
_db.OrmOriginal.SetEntityValueWithPropertyName(_entityType, data, _tableIdentitys[0].CsName, idtval);
_db._entityChangeReport.Add(new DbContext.EntityChangeReport.ChangeInfo { Object = data, Type = DbContext.EntityChangeType.Insert });
Attach(data);
- if (_db.Options.EnableAddOrUpdateNavigateList)
- await AddOrUpdateNavigateListAsync(data, true, null, cancellationToken);
+ if (_db.Options.EnableAddOrUpdateNavigate)
+ await AddOrUpdateNavigateAsync(data, true, null, cancellationToken);
return;
}
break;
@@ -87,8 +87,8 @@ namespace FreeSql
}
EnqueueToDbContext(DbContext.EntityChangeType.Insert, CreateEntityState(data));
Attach(data);
- if (_db.Options.EnableAddOrUpdateNavigateList)
- await AddOrUpdateNavigateListAsync(data, true, null, cancellationToken);
+ if (_db.Options.EnableAddOrUpdateNavigate)
+ await AddOrUpdateNavigateAsync(data, true, null, cancellationToken);
}
public Task AddAsync(TEntity data, CancellationToken cancellationToken = default) => AddPrivAsync(data, true, cancellationToken);
async public Task AddRangeAsync(IEnumerable data, CancellationToken cancellationToken = default)
@@ -120,9 +120,9 @@ namespace FreeSql
_db.OrmOriginal.MapEntityValue(_entityType, rets[idx++], s);
IncrAffrows(rets.Count);
AttachRange(rets);
- if (_db.Options.EnableAddOrUpdateNavigateList)
+ if (_db.Options.EnableAddOrUpdateNavigate)
foreach (var item in data)
- await AddOrUpdateNavigateListAsync(item, true, null, cancellationToken);
+ await AddOrUpdateNavigateAsync(item, true, null, cancellationToken);
return;
default:
if (_tableIdentitys.Length == 1)
@@ -138,9 +138,9 @@ namespace FreeSql
foreach (var item in data)
EnqueueToDbContext(DbContext.EntityChangeType.Insert, CreateEntityState(item));
AttachRange(data);
- if (_db.Options.EnableAddOrUpdateNavigateList)
+ if (_db.Options.EnableAddOrUpdateNavigate)
foreach (var item in data)
- await AddOrUpdateNavigateListAsync(item, true, null, cancellationToken);
+ await AddOrUpdateNavigateAsync(item, true, null, cancellationToken);
}
async public Task SaveManyAsync(TEntity item, string propertyName, CancellationToken cancellationToken = default)
@@ -160,11 +160,11 @@ namespace FreeSql
}
await DbContextFlushCommandAsync(cancellationToken);
- var oldEnable = _db.Options.EnableAddOrUpdateNavigateList;
- _db.Options.EnableAddOrUpdateNavigateList = false;
+ var oldEnable = _db.Options.EnableAddOrUpdateNavigate;
+ _db.Options.EnableAddOrUpdateNavigate = false;
try
{
- await AddOrUpdateNavigateListAsync(item, false, propertyName, cancellationToken);
+ await AddOrUpdateNavigateAsync(item, false, propertyName, cancellationToken);
if (tref.RefType == Internal.Model.TableRefType.OneToMany)
{
await DbContextFlushCommandAsync(cancellationToken);
@@ -197,10 +197,10 @@ namespace FreeSql
}
finally
{
- _db.Options.EnableAddOrUpdateNavigateList = oldEnable;
+ _db.Options.EnableAddOrUpdateNavigate = oldEnable;
}
}
- async Task AddOrUpdateNavigateListAsync(TEntity item, bool isAdd, string propertyName, CancellationToken cancellationToken)
+ async Task AddOrUpdateNavigateAsync(TEntity item, bool isAdd, string propertyName, CancellationToken cancellationToken)
{
Func action = async prop =>
{
@@ -213,15 +213,17 @@ namespace FreeSql
switch (tref.RefType)
{
case Internal.Model.TableRefType.OneToOne:
- //var propValItem = GetItemValue(item, prop);
- //for (var colidx = 0; colidx < tref.Columns.Count; colidx++)
- //{
- // var val = FreeSql.Internal.Utils.GetDataReaderValue(tref.RefColumns[colidx].CsType, _db.OrmOriginal.GetEntityValueWithPropertyName(_table.Type, item, tref.Columns[colidx].CsName));
- // _db.OrmOriginal.SetEntityValueWithPropertyName(tref.RefEntityType, propValItem, tref.RefColumns[colidx].CsName, val);
- //}
- //if (isAdd) await refSet.AddAsync(propValItem);
- //else await refSet.AddOrUpdateAsync(propValItem);
- //return;
+ refSet = GetDbSetObject(tref.RefEntityType);
+ var propValItem = GetItemValue(item, prop);
+ if (propValItem == null) return;
+ for (var colidx = 0; colidx < tref.Columns.Count; colidx++)
+ {
+ var val = FreeSql.Internal.Utils.GetDataReaderValue(tref.RefColumns[colidx].CsType, _db.OrmOriginal.GetEntityValueWithPropertyName(_table.Type, item, tref.Columns[colidx].CsName));
+ _db.OrmOriginal.SetEntityValueWithPropertyName(tref.RefEntityType, propValItem, tref.RefColumns[colidx].CsName, val);
+ }
+ if (isAdd) await refSet.AddAsync(propValItem);
+ else await refSet.AddOrUpdateAsync(propValItem);
+ return;
case Internal.Model.TableRefType.ManyToOne:
return;
}
@@ -441,9 +443,9 @@ namespace FreeSql
state.OldValue = item;
EnqueueToDbContext(DbContext.EntityChangeType.Update, state);
}
- if (_db.Options.EnableAddOrUpdateNavigateList)
+ if (_db.Options.EnableAddOrUpdateNavigate)
foreach (var item in data)
- await AddOrUpdateNavigateListAsync(item, false, null, cancellationToken);
+ await AddOrUpdateNavigateAsync(item, false, null, cancellationToken);
}
#endregion
diff --git a/FreeSql.DbContext/DbSet/DbSetSync.cs b/FreeSql.DbContext/DbSet/DbSetSync.cs
index a05ca9b6..3d741622 100644
--- a/FreeSql.DbContext/DbSet/DbSetSync.cs
+++ b/FreeSql.DbContext/DbSet/DbSetSync.cs
@@ -53,8 +53,8 @@ namespace FreeSql
_db.OrmOriginal.SetEntityValueWithPropertyName(_entityType, data, _tableIdentitys[0].CsName, idtval);
_db._entityChangeReport.Add(new DbContext.EntityChangeReport.ChangeInfo { Object = data, Type = DbContext.EntityChangeType.Insert });
Attach(data);
- if (_db.Options.EnableAddOrUpdateNavigateList)
- AddOrUpdateNavigateList(data, true, null);
+ if (_db.Options.EnableAddOrUpdateNavigate)
+ AddOrUpdateNavigate(data, true, null);
}
else
{
@@ -64,8 +64,8 @@ namespace FreeSql
IncrAffrows(1);
_db.OrmOriginal.MapEntityValue(_entityType, newval, data);
Attach(newval);
- if (_db.Options.EnableAddOrUpdateNavigateList)
- AddOrUpdateNavigateList(data, true, null);
+ if (_db.Options.EnableAddOrUpdateNavigate)
+ AddOrUpdateNavigate(data, true, null);
}
return;
default:
@@ -77,8 +77,8 @@ namespace FreeSql
_db.OrmOriginal.SetEntityValueWithPropertyName(_entityType, data, _tableIdentitys[0].CsName, idtval);
_db._entityChangeReport.Add(new DbContext.EntityChangeReport.ChangeInfo { Object = data, Type = DbContext.EntityChangeType.Insert });
Attach(data);
- if (_db.Options.EnableAddOrUpdateNavigateList)
- AddOrUpdateNavigateList(data, true, null);
+ if (_db.Options.EnableAddOrUpdateNavigate)
+ AddOrUpdateNavigate(data, true, null);
return;
}
break;
@@ -86,8 +86,8 @@ namespace FreeSql
}
EnqueueToDbContext(DbContext.EntityChangeType.Insert, CreateEntityState(data));
Attach(data);
- if (_db.Options.EnableAddOrUpdateNavigateList)
- AddOrUpdateNavigateList(data, true, null);
+ if (_db.Options.EnableAddOrUpdateNavigate)
+ AddOrUpdateNavigate(data, true, null);
}
///
/// 添加
@@ -123,9 +123,9 @@ namespace FreeSql
_db.OrmOriginal.MapEntityValue(_entityType, rets[idx++], s);
IncrAffrows(rets.Count);
AttachRange(rets);
- if (_db.Options.EnableAddOrUpdateNavigateList)
+ if (_db.Options.EnableAddOrUpdateNavigate)
foreach (var item in data)
- AddOrUpdateNavigateList(item, true, null);
+ AddOrUpdateNavigate(item, true, null);
return;
default:
if (_tableIdentitys.Length == 1)
@@ -141,9 +141,9 @@ namespace FreeSql
foreach (var item in data)
EnqueueToDbContext(DbContext.EntityChangeType.Insert, CreateEntityState(item));
AttachRange(data);
- if (_db.Options.EnableAddOrUpdateNavigateList)
+ if (_db.Options.EnableAddOrUpdateNavigate)
foreach (var item in data)
- AddOrUpdateNavigateList(item, true, null);
+ AddOrUpdateNavigate(item, true, null);
}
///
@@ -172,11 +172,11 @@ namespace FreeSql
}
DbContextFlushCommand();
- var oldEnable = _db.Options.EnableAddOrUpdateNavigateList;
- _db.Options.EnableAddOrUpdateNavigateList = false;
+ var oldEnable = _db.Options.EnableAddOrUpdateNavigate;
+ _db.Options.EnableAddOrUpdateNavigate = false;
try
{
- AddOrUpdateNavigateList(item, false, propertyName);
+ AddOrUpdateNavigate(item, false, propertyName);
if (tref.RefType == Internal.Model.TableRefType.OneToMany)
{
DbContextFlushCommand();
@@ -209,10 +209,10 @@ namespace FreeSql
}
finally
{
- _db.Options.EnableAddOrUpdateNavigateList = oldEnable;
+ _db.Options.EnableAddOrUpdateNavigate = oldEnable;
}
}
- void AddOrUpdateNavigateList(TEntity item, bool isAdd, string propertyName)
+ void AddOrUpdateNavigate(TEntity item, bool isAdd, string propertyName)
{
Action action = prop =>
{
@@ -225,15 +225,17 @@ namespace FreeSql
switch (tref.RefType)
{
case Internal.Model.TableRefType.OneToOne:
- //var propValItem = GetItemValue(item, prop);
- //for (var colidx = 0; colidx < tref.Columns.Count; colidx++)
- //{
- // var val = FreeSql.Internal.Utils.GetDataReaderValue(tref.RefColumns[colidx].CsType, _db.OrmOriginal.GetEntityValueWithPropertyName(_table.Type, item, tref.Columns[colidx].CsName));
- // _db.OrmOriginal.SetEntityValueWithPropertyName(tref.RefEntityType, propValItem, tref.RefColumns[colidx].CsName, val);
- //}
- //if (isAdd) refSet.Add(propValItem);
- //else refSet.AddOrUpdate(propValItem);
- //return;
+ refSet = GetDbSetObject(tref.RefEntityType);
+ var propValItem = GetItemValue(item, prop);
+ if (propValItem == null) return;
+ for (var colidx = 0; colidx < tref.Columns.Count; colidx++)
+ {
+ var val = FreeSql.Internal.Utils.GetDataReaderValue(tref.RefColumns[colidx].CsType, _db.OrmOriginal.GetEntityValueWithPropertyName(_table.Type, item, tref.Columns[colidx].CsName));
+ _db.OrmOriginal.SetEntityValueWithPropertyName(tref.RefEntityType, propValItem, tref.RefColumns[colidx].CsName, val);
+ }
+ if (isAdd) refSet.Add(propValItem);
+ else refSet.AddOrUpdate(propValItem);
+ return;
case Internal.Model.TableRefType.ManyToOne:
return;
}
@@ -483,9 +485,9 @@ namespace FreeSql
state.OldValue = item;
EnqueueToDbContext(DbContext.EntityChangeType.Update, state);
}
- if (_db.Options.EnableAddOrUpdateNavigateList)
+ if (_db.Options.EnableAddOrUpdateNavigate)
foreach (var item in data)
- AddOrUpdateNavigateList(item, false, null);
+ AddOrUpdateNavigate(item, false, null);
}
#endregion
@@ -603,8 +605,8 @@ namespace FreeSql
if (data == null) data = _dataEditing;
var beforeAffrows = 0;
if (data == null) return 0;
- var oldEnable = _db.Options.EnableAddOrUpdateNavigateList;
- _db.Options.EnableAddOrUpdateNavigateList = false;
+ var oldEnable = _db.Options.EnableAddOrUpdateNavigate;
+ _db.Options.EnableAddOrUpdateNavigate = false;
try
{
DbContextFlushCommand();
@@ -646,7 +648,7 @@ namespace FreeSql
{
_dataEditing = null;
_statesEditing.Clear();
- _db.Options.EnableAddOrUpdateNavigateList = oldEnable;
+ _db.Options.EnableAddOrUpdateNavigate = oldEnable;
}
return _db._affrows - beforeAffrows;
}
diff --git a/FreeSql.DbContext/EfCoreFluentApi/EfCoreTableFluent.cs b/FreeSql.DbContext/EfCoreFluentApi/EfCoreTableFluent.cs
index 90200d24..2374ef73 100644
--- a/FreeSql.DbContext/EfCoreFluentApi/EfCoreTableFluent.cs
+++ b/FreeSql.DbContext/EfCoreFluentApi/EfCoreTableFluent.cs
@@ -242,7 +242,7 @@ namespace FreeSql.Extensions.EfCoreFluentApi
}
///
- /// 使用 Repository + EnableAddOrUpdateNavigateList + NoneParameter 方式插入种子数据
+ /// 使用 Repository + EnableAddOrUpdateNavigate + NoneParameter 方式插入种子数据
///
///
///
@@ -263,7 +263,7 @@ namespace FreeSql.Extensions.EfCoreFluentApi
if (_fsql.Select
-
+
- 是否开启一对多,多对多级联保存功能
+ 是否开启 一对一(OneToOne)、一对多(OneToMany)、多对多(ManyToMany) 级联保存功能
- 【一对多】模型下, 保存时可级联保存实体的属性集合。出于使用安全考虑我们没做完整对比,只实现实体属性集合的添加或更新操作,所以不会删除实体属性集合的数据。
+ 【一对一】模型下,保存时级联保存 OneToOne 属性。
+
+ 【一对多】模型下,保存时级联保存 OneToMany 集合属性。出于安全考虑我们没做完整对比,只针对实体属性集合的添加或更新操作,因此不会删除数据库表已有的数据。
完整对比的功能使用起来太危险,试想下面的场景:
- - 保存的时候,实体的属性集合是空的,如何操作?记录全部删除?
- - 保存的时候,由于数据库中记录非常之多,那么只想保存子表的部分数据,或者只需要添加,如何操作?
+ - 保存的时候,实体的属性集合为空时(!=null),表记录全部删除?
+ - 保存的时候,由于数据库子表的记录很多,只想保存子表的部分数据,又或者只需要添加,如何操作?
- 【多对多】模型下,我们对中间表的保存是完整对比操作,对外部实体的操作只作新增(*注意不会更新)
+ 【多对多】模型下,对中间表的保存是完整对比操作,对外部实体的只作新增操作(*注意不会更新)
- 属性集合为空时(!=null),删除他们的所有关联数据(中间表)
- 属性集合不为空时,与数据库存在的关联数据(中间表)完全对比,计算出应该删除和添加的记录
@@ -230,7 +232,7 @@
- 使用 Repository + EnableAddOrUpdateNavigateList + NoneParameter 方式插入种子数据
+ 使用 Repository + EnableAddOrUpdateNavigate + NoneParameter 方式插入种子数据
@@ -243,7 +245,7 @@
- 使用 Repository + EnableAddOrUpdateNavigateList + NoneParameter 方式插入种子数据
+ 使用 Repository + EnableAddOrUpdateNavigate + NoneParameter 方式插入种子数据
diff --git a/FreeSql.Tests/FreeSql.Tests.DbContext/RepositoryTests.cs b/FreeSql.Tests/FreeSql.Tests.DbContext/RepositoryTests.cs
index 404f8bc4..d2d03ca6 100644
--- a/FreeSql.Tests/FreeSql.Tests.DbContext/RepositoryTests.cs
+++ b/FreeSql.Tests/FreeSql.Tests.DbContext/RepositoryTests.cs
@@ -15,18 +15,17 @@ namespace FreeSql.Tests
var fsql = g.sqlite;
var groupRepo = fsql.GetRepository();
var userRepo = fsql.GetRepository();
+ userRepo.DbContextOptions.EnableAddOrUpdateNavigate = true;
//OneToOne
fsql.Delete().Where("1=1").ExecuteAffrows();
fsql.Delete().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(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(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().Where("1=1").ExecuteAffrows();
fsql.Delete().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().DeleteCascade(userExt);
+ ret = fsql.GetRepository().DeleteCascade(user.UserExt);
Assert.Equal(2, ret.Count);
Assert.IsType(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(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().Where("1=1").ExecuteAffrows();
fsql.Delete().Where("1=1").ExecuteAffrows();
fsql.Delete().Where("1=1").ExecuteAffrows();
- groupRepo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
+ groupRepo.DbContextOptions.EnableAddOrUpdateNavigate = true;
var group = new DeleteCascadeUserGroup
{
GroupName = "group01",
Users = new List
{
- 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(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(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(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(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().Insert(tags);
- groupRepo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
+ groupRepo.DbContextOptions.EnableAddOrUpdateNavigate = true;
group = new DeleteCascadeUserGroup
{
GroupName = "group01",
Users = new List
{
- new DeleteCascadeUser { Username = "admin01", Password = "pwd01", Tags = new List { tags[0], tags[2], tags[3], tags[6] } },
- new DeleteCascadeUser { Username = "admin02", Password = "pwd02", Tags = new List { tags[1], tags[2], tags[5] } },
- new DeleteCascadeUser { Username = "admin03", Password = "pwd03", Tags = new List { tags[3], tags[4], tags[6], tags[7] } },
+ new DeleteCascadeUser { Username = "admin01", Password = "pwd01", UserExt = new DeleteCascadeUserExt { Remark = "用户备注01" }, Tags = new List { tags[0], tags[2], tags[3], tags[6] } },
+ new DeleteCascadeUser { Username = "admin02", Password = "pwd02", UserExt = new DeleteCascadeUserExt { Remark = "用户备注02" }, Tags = new List { tags[1], tags[2], tags[5] } },
+ new DeleteCascadeUser { Username = "admin03", Password = "pwd03", UserExt = new DeleteCascadeUserExt { Remark = "用户备注03" }, Tags = new List { 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(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(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(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(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();
- 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();
- 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();
- 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().Where("1=1").ExecuteAffrows();
var repo = g.sqlite.GetRepository();
@@ -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();
- repo.DbContextOptions.EnableAddOrUpdateNavigateList = true; //打开级联保存功能
+ repo.DbContextOptions.EnableAddOrUpdateNavigate = true; //打开级联保存功能
repo.Insert(ss);
ss[0].Tags[0].TagName = "流行101";
diff --git a/FreeSql.Tests/FreeSql.Tests.DbContext/UnitTest1.cs b/FreeSql.Tests/FreeSql.Tests.DbContext/UnitTest1.cs
index 8cf62928..f143cf05 100644
--- a/FreeSql.Tests/FreeSql.Tests.DbContext/UnitTest1.cs
+++ b/FreeSql.Tests/FreeSql.Tests.DbContext/UnitTest1.cs
@@ -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_й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_й"
+ Name = "test_manytoMany_01_中国"
};
var tag2 = new Tag
{
Ddd = DateTime.Now.Second,
- Name = "test_manytoMany_02_"
+ Name = "test_manytoMany_02_美国"
};
var tag3 = new Tag
{
Ddd = DateTime.Now.Second,
- Name = "test_manytoMany_03_ձ"
+ Name = "test_manytoMany_03_日本"
};
ctx.AddRange(new[] { tag1, tag2, tag3 });
var song1 = new Song
{
Create_time = DateTime.Now,
- Title = "test_manytoMany_01_й.mp3",
+ Title = "test_manytoMany_01_我是中国人.mp3",
Url = "http://ww.baidu.com/"
};
var song2 = new Song
{
Create_time = DateTime.Now,
- Title = "test_manytoMany_02_һ.mp3",
+ Title = "test_manytoMany_02_爱你一万年.mp3",
Url = "http://ww.163.com/"
};
var song3 = new Song
{
Create_time = DateTime.Now,
- Title = "test_manytoMany_03_ǧһ.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().AppendData(new testenumWhere { type = testenumWhereType.Blaaa }).ExecuteAffrows();
@@ -163,11 +163,11 @@ namespace FreeSql.Tests
var sql = g.mysql.Select().Where(a => a.type == testenumWhereType.Blaaa).ToSql();
var tolist = g.mysql.Select().Where(a => a.type == testenumWhereType.Blaaa).ToList();
- //֧ 1Զ
+ //支持 1对多 级联保存
using (var ctx = g.sqlite.CreateDbContext())
{
- ctx.Options.EnableAddOrUpdateNavigateList = true;
+ ctx.Options.EnableAddOrUpdateNavigate = true;
var tags = ctx.Set().Select.IncludeMany(a => a.Tags).ToList();
var tag = new Tag
@@ -195,11 +195,11 @@ namespace FreeSql.Tests
[Fact]
public void Update()
{
- //ѯ 1Զ࣬ټ
+ //查询 1对多,再级联保存
using (var ctx = g.sqlite.CreateDbContext())
{
- ctx.Options.EnableAddOrUpdateNavigateList = true;
+ ctx.Options.EnableAddOrUpdateNavigate = true;
var tag = ctx.Set().Select.First();
tag.Tags.Add(new Tag { Name = "sub3" });
tag.Name = Guid.NewGuid().ToString();
diff --git a/FreeSql.Tests/FreeSql.Tests.Provider.GBase/GBase/Curd/GBaseSelectTest.cs b/FreeSql.Tests/FreeSql.Tests.Provider.GBase/GBase/Curd/GBaseSelectTest.cs
index b68f9582..535ecab6 100644
--- a/FreeSql.Tests/FreeSql.Tests.Provider.GBase/GBase/Curd/GBaseSelectTest.cs
+++ b/FreeSql.Tests/FreeSql.Tests.Provider.GBase/GBase/Curd/GBaseSelectTest.cs
@@ -191,7 +191,7 @@ WHERE (exists(SELECT 1
g.gbase.Delete().Where("1=1").ExecuteAffrows();
var repo = g.gbase.GetRepository();
- 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().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository();
- repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
+ repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{
diff --git a/FreeSql.Tests/FreeSql.Tests.Provider.MySqlConnector/MySqlConnector/Curd/MySqlSelectTest.cs b/FreeSql.Tests/FreeSql.Tests.Provider.MySqlConnector/MySqlConnector/Curd/MySqlSelectTest.cs
index 05a755db..74aa07c6 100644
--- a/FreeSql.Tests/FreeSql.Tests.Provider.MySqlConnector/MySqlConnector/Curd/MySqlSelectTest.cs
+++ b/FreeSql.Tests/FreeSql.Tests.Provider.MySqlConnector/MySqlConnector/Curd/MySqlSelectTest.cs
@@ -384,7 +384,7 @@ WHERE (((a.`Name`) in (SELECT s.`Title` as1
g.mysql.Delete().Where("1=1").ExecuteAffrows();
var repo = g.mysql.GetRepository();
- 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().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository();
- repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
+ repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{
diff --git a/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/Dameng/Curd/DamengSelectTest.cs b/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/Dameng/Curd/DamengSelectTest.cs
index 1a423cc6..aa20ecab 100644
--- a/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/Dameng/Curd/DamengSelectTest.cs
+++ b/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/Dameng/Curd/DamengSelectTest.cs
@@ -194,7 +194,7 @@ namespace FreeSql.Tests.Odbc.Dameng
g.dameng.Delete().Where("1=1").ExecuteAffrows();
var repo = g.dameng.GetRepository();
- 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().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository();
- repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
+ repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{
diff --git a/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/Default/Curd/OdbcSelectTest.cs b/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/Default/Curd/OdbcSelectTest.cs
index 67c0323c..bb0fc271 100644
--- a/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/Default/Curd/OdbcSelectTest.cs
+++ b/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/Default/Curd/OdbcSelectTest.cs
@@ -185,7 +185,7 @@ namespace FreeSql.Tests.Odbc.Default
g.odbc.Delete().Where("1=1").ExecuteAffrows();
var repo = g.odbc.GetRepository();
- 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().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository();
- repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
+ repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{
diff --git a/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/KingbaseES/Curd/KingbaseESSelectTest.cs b/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/KingbaseES/Curd/KingbaseESSelectTest.cs
index 1d620a53..b1a1dbd3 100644
--- a/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/KingbaseES/Curd/KingbaseESSelectTest.cs
+++ b/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/KingbaseES/Curd/KingbaseESSelectTest.cs
@@ -194,7 +194,7 @@ namespace FreeSql.Tests.Odbc.KingbaseES
g.kingbaseES.Delete().Where("1=1").ExecuteAffrows();
var repo = g.kingbaseES.GetRepository();
- 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().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository();
- repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
+ repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{
diff --git a/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/MySql/Curd/MySqlSelectTest.cs b/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/MySql/Curd/MySqlSelectTest.cs
index 0cac84eb..281a40c4 100644
--- a/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/MySql/Curd/MySqlSelectTest.cs
+++ b/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/MySql/Curd/MySqlSelectTest.cs
@@ -294,7 +294,7 @@ namespace FreeSql.Tests.Odbc.MySql
g.mysql.Delete().Where("1=1").ExecuteAffrows();
var repo = g.mysql.GetRepository();
- 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().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository();
- repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
+ repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{
diff --git a/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/Oracle/Curd/OracleSelectTest.cs b/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/Oracle/Curd/OracleSelectTest.cs
index f6d4b36f..ed312b2b 100644
--- a/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/Oracle/Curd/OracleSelectTest.cs
+++ b/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/Oracle/Curd/OracleSelectTest.cs
@@ -194,7 +194,7 @@ namespace FreeSql.Tests.Odbc.Oracle
g.oracle.Delete().Where("1=1").ExecuteAffrows();
var repo = g.oracle.GetRepository();
- 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().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository();
- repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
+ repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{
diff --git a/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/PostgreSQL/Curd/PostgreSQLSelectTest.cs b/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/PostgreSQL/Curd/PostgreSQLSelectTest.cs
index 2b0743dc..9fbf33fc 100644
--- a/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/PostgreSQL/Curd/PostgreSQLSelectTest.cs
+++ b/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/PostgreSQL/Curd/PostgreSQLSelectTest.cs
@@ -270,7 +270,7 @@ namespace FreeSql.Tests.Odbc.PostgreSQL
g.pgsql.Delete().Where("1=1").ExecuteAffrows();
var repo = g.pgsql.GetRepository();
- 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().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository();
- repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
+ repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{
diff --git a/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/SqlServer/Curd/SqlServerSelectTest.cs b/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/SqlServer/Curd/SqlServerSelectTest.cs
index c97fd24a..13d5b62b 100644
--- a/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/SqlServer/Curd/SqlServerSelectTest.cs
+++ b/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/SqlServer/Curd/SqlServerSelectTest.cs
@@ -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().Where("1=1").ExecuteAffrows();
var repo = g.sqlserver.GetRepository();
- 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().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository();
- repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
+ repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{
diff --git a/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/UnitTest1.cs b/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/UnitTest1.cs
index 34f896e3..be81bdbe 100644
--- a/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/UnitTest1.cs
+++ b/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/UnitTest1.cs
@@ -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();
trepo.Insert(new TaskBuild
{
diff --git a/FreeSql.Tests/FreeSql.Tests.Provider.Sqlite.Data/Sqlite/Curd/SqliteSelectTest.cs b/FreeSql.Tests/FreeSql.Tests.Provider.Sqlite.Data/Sqlite/Curd/SqliteSelectTest.cs
index 91b17c10..7888ff6e 100644
--- a/FreeSql.Tests/FreeSql.Tests.Provider.Sqlite.Data/Sqlite/Curd/SqliteSelectTest.cs
+++ b/FreeSql.Tests/FreeSql.Tests.Provider.Sqlite.Data/Sqlite/Curd/SqliteSelectTest.cs
@@ -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().Where("1=1").ExecuteAffrows();
var repo = g.sqlite.GetRepository();
- 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().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository();
- repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
+ repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{
diff --git a/FreeSql.Tests/FreeSql.Tests/Dameng/Curd/DamengSelectTest.cs b/FreeSql.Tests/FreeSql.Tests/Dameng/Curd/DamengSelectTest.cs
index c28f4a05..81cb894b 100644
--- a/FreeSql.Tests/FreeSql.Tests/Dameng/Curd/DamengSelectTest.cs
+++ b/FreeSql.Tests/FreeSql.Tests/Dameng/Curd/DamengSelectTest.cs
@@ -309,7 +309,7 @@ WHERE (((a.""NAME"") in (SELECT s.""TITLE"" as1
g.dameng.Delete().Where("1=1").ExecuteAffrows();
var repo = g.dameng.GetRepository();
- 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().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository();
- repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
+ repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{
diff --git a/FreeSql.Tests/FreeSql.Tests/Firebird/Curd/FirebirdSelectTest.cs b/FreeSql.Tests/FreeSql.Tests/Firebird/Curd/FirebirdSelectTest.cs
index 9541ea13..8a07d65c 100644
--- a/FreeSql.Tests/FreeSql.Tests/Firebird/Curd/FirebirdSelectTest.cs
+++ b/FreeSql.Tests/FreeSql.Tests/Firebird/Curd/FirebirdSelectTest.cs
@@ -309,7 +309,7 @@ WHERE (((a.""NAME"") in (SELECT s.""TITLE"" as1
g.firebird.Delete().Where("1=1").ExecuteAffrows();
var repo = g.firebird.GetRepository();
- 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().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository();
- repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
+ repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{
diff --git a/FreeSql.Tests/FreeSql.Tests/KingbaseES/Curd/KingbaseESSelectTest.cs b/FreeSql.Tests/FreeSql.Tests/KingbaseES/Curd/KingbaseESSelectTest.cs
index aae2c4af..fe1a81cc 100644
--- a/FreeSql.Tests/FreeSql.Tests/KingbaseES/Curd/KingbaseESSelectTest.cs
+++ b/FreeSql.Tests/FreeSql.Tests/KingbaseES/Curd/KingbaseESSelectTest.cs
@@ -194,7 +194,7 @@ namespace FreeSql.Tests.KingbaseES
g.kingbaseES.Delete().Where("1=1").ExecuteAffrows();
var repo = g.kingbaseES.GetRepository();
- 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().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository();
- repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
+ repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{
diff --git a/FreeSql.Tests/FreeSql.Tests/Linq/QueryableTest.cs b/FreeSql.Tests/FreeSql.Tests/Linq/QueryableTest.cs
index acae29f2..6d8718e3 100644
--- a/FreeSql.Tests/FreeSql.Tests/Linq/QueryableTest.cs
+++ b/FreeSql.Tests/FreeSql.Tests/Linq/QueryableTest.cs
@@ -59,7 +59,7 @@ namespace FreeSql.Tests.Linq
}
};
var repo = fsql.GetRepository();
- repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
+ repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.Insert(sd);
Assert.True(fsql.Select().AsQueryable().Any());
diff --git a/FreeSql.Tests/FreeSql.Tests/MsAccess/Curd/MsAccessSelectTest.cs b/FreeSql.Tests/FreeSql.Tests/MsAccess/Curd/MsAccessSelectTest.cs
index d4702afb..4b911823 100644
--- a/FreeSql.Tests/FreeSql.Tests/MsAccess/Curd/MsAccessSelectTest.cs
+++ b/FreeSql.Tests/FreeSql.Tests/MsAccess/Curd/MsAccessSelectTest.cs
@@ -300,7 +300,7 @@ WHERE (((a.[Name]) in (SELECT s.[Title] as as1
g.msaccess.Delete().Where("1=1").ExecuteAffrows();
var repo = g.msaccess.GetRepository();
- 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().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository();
- repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
+ repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{
diff --git a/FreeSql.Tests/FreeSql.Tests/MySql/Curd/MySqlSelectTest.cs b/FreeSql.Tests/FreeSql.Tests/MySql/Curd/MySqlSelectTest.cs
index 280f69d3..d7bbf8ac 100644
--- a/FreeSql.Tests/FreeSql.Tests/MySql/Curd/MySqlSelectTest.cs
+++ b/FreeSql.Tests/FreeSql.Tests/MySql/Curd/MySqlSelectTest.cs
@@ -427,7 +427,7 @@ WHERE (((a.`Name`) in (SELECT s.`Title` as1
g.mysql.Delete().Where("1=1").ExecuteAffrows();
var repo = g.mysql.GetRepository();
- 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().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository();
- repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
+ repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{
diff --git a/FreeSql.Tests/FreeSql.Tests/Oracle/Curd/OracleSelectTest.cs b/FreeSql.Tests/FreeSql.Tests/Oracle/Curd/OracleSelectTest.cs
index c2743d4e..80e880d2 100644
--- a/FreeSql.Tests/FreeSql.Tests/Oracle/Curd/OracleSelectTest.cs
+++ b/FreeSql.Tests/FreeSql.Tests/Oracle/Curd/OracleSelectTest.cs
@@ -309,7 +309,7 @@ WHERE (((a.""NAME"") in (SELECT s.""TITLE"" as1
g.oracle.Delete().Where("1=1").ExecuteAffrows();
var repo = g.oracle.GetRepository();
- 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().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository();
- repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
+ repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{
diff --git a/FreeSql.Tests/FreeSql.Tests/PostgreSQL/Curd/PostgreSQLSelectTest.cs b/FreeSql.Tests/FreeSql.Tests/PostgreSQL/Curd/PostgreSQLSelectTest.cs
index 590cd131..feaebee2 100644
--- a/FreeSql.Tests/FreeSql.Tests/PostgreSQL/Curd/PostgreSQLSelectTest.cs
+++ b/FreeSql.Tests/FreeSql.Tests/PostgreSQL/Curd/PostgreSQLSelectTest.cs
@@ -401,7 +401,7 @@ WHERE (((a.""name"") in (SELECT s.""title"" as1
g.pgsql.Delete().Where("1=1").ExecuteAffrows();
var repo = g.pgsql.GetRepository();
- 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().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository();
- repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
+ repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{
diff --git a/FreeSql.Tests/FreeSql.Tests/ShenTong/Curd/ShenTongSelectTest.cs b/FreeSql.Tests/FreeSql.Tests/ShenTong/Curd/ShenTongSelectTest.cs
index e5009a88..55f59af8 100644
--- a/FreeSql.Tests/FreeSql.Tests/ShenTong/Curd/ShenTongSelectTest.cs
+++ b/FreeSql.Tests/FreeSql.Tests/ShenTong/Curd/ShenTongSelectTest.cs
@@ -270,7 +270,7 @@ namespace FreeSql.Tests.ShenTong
g.shentong.Delete().Where("1=1").ExecuteAffrows();
var repo = g.shentong.GetRepository();
- 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().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository();
- repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
+ repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{
diff --git a/FreeSql.Tests/FreeSql.Tests/SqlServer/Curd/SqlServerSelectTest.cs b/FreeSql.Tests/FreeSql.Tests/SqlServer/Curd/SqlServerSelectTest.cs
index e36d5839..8d98316c 100644
--- a/FreeSql.Tests/FreeSql.Tests/SqlServer/Curd/SqlServerSelectTest.cs
+++ b/FreeSql.Tests/FreeSql.Tests/SqlServer/Curd/SqlServerSelectTest.cs
@@ -306,7 +306,7 @@ WHERE (((a.[Name]) in (SELECT s.[Title] as1
g.sqlserver.Delete().Where("1=1").ExecuteAffrows();
var repo = g.sqlserver.GetRepository();
- 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().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository();
- repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
+ repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{
diff --git a/FreeSql.Tests/FreeSql.Tests/Sqlite/Curd/SqliteSelectTest.cs b/FreeSql.Tests/FreeSql.Tests/Sqlite/Curd/SqliteSelectTest.cs
index 7472ee66..aa1aeb41 100644
--- a/FreeSql.Tests/FreeSql.Tests/Sqlite/Curd/SqliteSelectTest.cs
+++ b/FreeSql.Tests/FreeSql.Tests/Sqlite/Curd/SqliteSelectTest.cs
@@ -354,7 +354,7 @@ WHERE (((a.""Name"") in (SELECT s.""Title"" as1
g.sqlite.Delete().Where("1=1").ExecuteAffrows();
var repo = g.sqlite.GetRepository();
- 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().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository();
- repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
+ repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.DbContextOptions.NoneParameter = true;
repo.Insert(new VM_District_Child
{
diff --git a/FreeSql.Tests/FreeSql.Tests/UnitTest1.cs b/FreeSql.Tests/FreeSql.Tests/UnitTest1.cs
index c5fc53c0..d1f0d46d 100644
--- a/FreeSql.Tests/FreeSql.Tests/UnitTest1.cs
+++ b/FreeSql.Tests/FreeSql.Tests/UnitTest1.cs
@@ -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();
trepo.Insert(new TaskBuild
{
@@ -1146,7 +1146,7 @@ namespace FreeSql.Tests
};
var repo = g.mysql.GetRepository();
- repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
+ repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.Insert(neworder);
var order = g.mysql.Select().Where(a => a.Id == neworder.Id).ToOne(); //查询订单表
diff --git a/FreeSql.Tests/FreeSql.Tests/UnitTest3.cs b/FreeSql.Tests/FreeSql.Tests/UnitTest3.cs
index c5f0c9ca..07e082d3 100644
--- a/FreeSql.Tests/FreeSql.Tests/UnitTest3.cs
+++ b/FreeSql.Tests/FreeSql.Tests/UnitTest3.cs
@@ -210,7 +210,7 @@ namespace FreeSql.Tests
g.sqlite.Delete().Where("1=1").ExecuteAffrows();
g.sqlite.Delete().Where("1=1").ExecuteAffrows();
var tshoprepo = g.sqlite.GetRepository();
- tshoprepo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
+ tshoprepo.DbContextOptions.EnableAddOrUpdateNavigate = true;
tshoprepo.Insert(new tcate01[]
{
new tcate01 { name = "tcate1", tshops = new List{ new tshop01(), new tshop01(), new tshop01() } },
diff --git a/FreeSql.Tests/FreeSql.Tests/UnitTest4.cs b/FreeSql.Tests/FreeSql.Tests/UnitTest4.cs
index daecf4ec..78273091 100644
--- a/FreeSql.Tests/FreeSql.Tests/UnitTest4.cs
+++ b/FreeSql.Tests/FreeSql.Tests/UnitTest4.cs
@@ -304,7 +304,7 @@ GROUP BY a.""code"", a.""seqid"", a.""name""", sql);
fsql.Delete().Where("1=1").ExecuteAffrows();
var repo = fsql.GetRepository();
- repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
+ repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
repo.Insert(new ts_otm_ll_01
{
name = "001",
diff --git a/Providers/FreeSql.Provider.MySql/Curd/MySqlDelete.cs b/Providers/FreeSql.Provider.MySql/Curd/MySqlDelete.cs
index 5f5431a4..43f48c99 100644
--- a/Providers/FreeSql.Provider.MySql/Curd/MySqlDelete.cs
+++ b/Providers/FreeSql.Provider.MySql/Curd/MySqlDelete.cs
@@ -50,7 +50,7 @@ namespace FreeSql.MySql.Curd
catch (Exception ex)
{
exception = ex;
- throw ex;
+ throw;
}
finally
{
@@ -101,7 +101,7 @@ namespace FreeSql.MySql.Curd
catch (Exception ex)
{
exception = ex;
- throw ex;
+ throw;
}
finally
{
diff --git a/Providers/FreeSql.Provider.Sqlite/Curd/SqliteInsert.cs b/Providers/FreeSql.Provider.Sqlite/Curd/SqliteInsert.cs
index ba1b143a..4a9dd070 100644
--- a/Providers/FreeSql.Provider.Sqlite/Curd/SqliteInsert.cs
+++ b/Providers/FreeSql.Provider.Sqlite/Curd/SqliteInsert.cs
@@ -38,7 +38,7 @@ namespace FreeSql.Sqlite.Curd
catch (Exception ex)
{
exception = ex;
- throw ex;
+ throw;
}
finally
{
@@ -81,7 +81,7 @@ namespace FreeSql.Sqlite.Curd
catch (Exception ex)
{
exception = ex;
- throw ex;
+ throw;
}
finally
{
diff --git a/README.md b/README.md
index 9c8563d7..6d4e03f8 100644
--- a/README.md
+++ b/README.md
@@ -132,7 +132,7 @@ fsql.Select().OrderBy(a => Guid.NewGuid()).Limit(10).ToList();
[Transactional]
public void Add() {
var repo = ioc.GetService>();
- repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
+ repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
var item = new Tag {
Name = "testaddsublist",
diff --git a/README.zh-CN.md b/README.zh-CN.md
index fa7bfcda..dd3b450d 100644
--- a/README.zh-CN.md
+++ b/README.zh-CN.md
@@ -135,7 +135,7 @@ fsql.Select().OrderBy(a => Guid.NewGuid()).Limit(10).ToList();
[Transactional]
public void Add() {
var repo = ioc.GetService>();
- repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
+ repo.DbContextOptions.EnableAddOrUpdateNavigate = true;
var item = new Tag {
Name = "testaddsublist",