From 72dedc992ce2dce44e6246569d71d1f1a4ebf5c0 Mon Sep 17 00:00:00 2001
From: 28810 <28810@YEXIANGQIN>
Date: Sun, 20 Sep 2020 18:38:14 +0800
Subject: [PATCH] =?UTF-8?q?-=20=E4=BF=AE=E5=A4=8D=20ISelect=20ToDelete/ToU?=
=?UTF-8?q?pdate=20=E4=BA=8B=E5=8A=A1=E5=AF=B9=E8=B1=A1=E6=9C=AA=E4=BC=A0?=
=?UTF-8?q?=E6=92=AD=E7=9A=84=20bug=EF=BC=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
FreeSql.DbContext/FreeSql.DbContext.xml | 9 +++++++++
.../CommonProvider/SelectProvider/Select0Provider.cs | 8 ++++++--
2 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/FreeSql.DbContext/FreeSql.DbContext.xml b/FreeSql.DbContext/FreeSql.DbContext.xml
index 9c6cd88b..743835e4 100644
--- a/FreeSql.DbContext/FreeSql.DbContext.xml
+++ b/FreeSql.DbContext/FreeSql.DbContext.xml
@@ -532,5 +532,14 @@
+
+
+ 批量注入 Repository,可以参考代码自行调整
+
+
+
+
+
+
diff --git a/FreeSql/Internal/CommonProvider/SelectProvider/Select0Provider.cs b/FreeSql/Internal/CommonProvider/SelectProvider/Select0Provider.cs
index 4a9a4066..e6020a4a 100644
--- a/FreeSql/Internal/CommonProvider/SelectProvider/Select0Provider.cs
+++ b/FreeSql/Internal/CommonProvider/SelectProvider/Select0Provider.cs
@@ -377,7 +377,9 @@ namespace FreeSql.Internal.CommonProvider
if (_tables[0].Table.Primarys.Any() == false) throw new Exception($"ToDelete 功能要求实体类 {_tables[0].Table.CsName} 必须有主键");
var del = _orm.Delete() as DeleteProvider;
if (_tables[0].Table.Type != typeof(T1)) del.AsType(_tables[0].Table.Type);
- if (_params.Any()) del.GetType().GetField("_params", BindingFlags.Instance | BindingFlags.NonPublic)?.SetValue(del, new List(_params.ToArray()));
+ if (_params.Any()) del._params = new List(_params.ToArray());
+ if (_whereGlobalFilter.Any()) del._whereGlobalFilter = new List(_whereGlobalFilter.ToArray());
+ del.WithConnection(_connection).WithTransaction(_transaction).CommandTimeout(_commandTimeout);
switch (_orm.Ado.DataType)
{
case DataType.Dameng:
@@ -403,7 +405,9 @@ namespace FreeSql.Internal.CommonProvider
if (_tables[0].Table.Primarys.Any() == false) throw new Exception($"ToUpdate 功能要求实体类 {_tables[0].Table.CsName} 必须有主键");
var upd = _orm.Update() as UpdateProvider;
if (_tables[0].Table.Type != typeof(T1)) upd.AsType(_tables[0].Table.Type);
- if (_params.Any()) upd.GetType().GetField("_params", BindingFlags.Instance | BindingFlags.NonPublic)?.SetValue(upd, new List(_params.ToArray()));
+ if (_params.Any()) upd._params = new List(_params.ToArray());
+ if (_whereGlobalFilter.Any()) upd._whereGlobalFilter = new List(_whereGlobalFilter.ToArray());
+ upd.WithConnection(_connection).WithTransaction(_transaction).CommandTimeout(_commandTimeout);
switch (_orm.Ado.DataType)
{
case DataType.Dameng: