From e30a57ad046b4b0699c900c5ae9aaccdea9bad01 Mon Sep 17 00:00:00 2001
From: 28810 <28810@YEXIANGQIN>
Date: Wed, 16 Sep 2020 12:34:46 +0800
Subject: [PATCH] =?UTF-8?q?-=20=E4=BF=AE=E5=A4=8D=20=E4=BD=BF=E7=94=A8?=
=?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=8F=82=E6=95=B0=E5=8C=96=E5=8A=9F=E8=83=BD?=
=?UTF-8?q?=E6=97=B6=20ToList=20=E5=AD=90=E6=9F=A5=E8=AF=A2=E6=9C=AA?=
=?UTF-8?q?=E4=BC=A0=E6=92=AD=E5=8F=82=E6=95=B0=E5=88=97=E8=A1=A8=E7=9A=84?=
=?UTF-8?q?=20bug=EF=BC=9B#462?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
FreeSql.DbContext/FreeSql.DbContext.xml | 9 ++++
FreeSql.Tests/FreeSql.Tests/Issues/462.cs | 60 +++++++++++++++++++++++
FreeSql/Internal/CommonExpression.cs | 2 +-
3 files changed, 70 insertions(+), 1 deletion(-)
create mode 100644 FreeSql.Tests/FreeSql.Tests/Issues/462.cs
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.Tests/FreeSql.Tests/Issues/462.cs b/FreeSql.Tests/FreeSql.Tests/Issues/462.cs
new file mode 100644
index 00000000..0fa0162f
--- /dev/null
+++ b/FreeSql.Tests/FreeSql.Tests/Issues/462.cs
@@ -0,0 +1,60 @@
+using FreeSql.DataAnnotations;
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Text;
+using System.Threading;
+using Xunit;
+
+namespace FreeSql.Tests.Issues
+{
+ public class _462
+ {
+ [Fact]
+ public void SelectTest()
+ {
+ IFreeSql db = new FreeSql.FreeSqlBuilder()
+ .UseConnectionString(FreeSql.DataType.Oracle, "user id=1user;password=123456;data source=//127.0.0.1:1521/XE;Pooling=true;Max Pool Size=1")
+ .UseNameConvert(FreeSql.Internal.NameConvertType.ToUpper)
+ .UseGenerateCommandParameterWithLambda(true)
+ .UseAutoSyncStructure(true)
+ .UseMonitorCommand(cmd => Trace.WriteLine("\r\n线程" + Thread.CurrentThread.ManagedThreadId + ": " + cmd.CommandText))
+ .Build();
+
+ var startTime = DateTime.Now;
+ var endTime = DateTime.Now;
+
+ var exp0 = 10;
+ var cou = db.Select()
+ .Where(a => a.ScheduledDttm.Date >= startTime.Date && a.ScheduledDttm.Date <= (endTime.AddDays(1)).Date)
+ .ToList(a => new
+ {
+ subCount = db.Select().Where(b => b.SCHEDULED_DTTM == exp0).Count()
+ });
+ }
+
+ [Table(Name = "V_HospitalReport22")]
+ public class V_HospitalReport
+ {
+ [Column(Name = "hospital_name")]
+ public string HospitalName { get; set; }
+
+ [Column(Name = "dep")]
+ public string Dep { get; set; }
+
+ [Column(Name = "instrna")]
+ public string Instrna { get; set; }
+
+ [Column(Name = "confirm_doctor_name")]
+ public string ConfirmDoctorName { get; set; }
+
+ [Column(Name = "Scheduled_Dttm")]
+ public DateTime ScheduledDttm { get; set; }
+ }
+ [Table(Name = "V_HOSPITALREPORT22111")]
+ public class V_HOSPITALREPORT
+ {
+ public int SCHEDULED_DTTM { get; set; }
+ }
+ }
+}
diff --git a/FreeSql/Internal/CommonExpression.cs b/FreeSql/Internal/CommonExpression.cs
index d1177708..7d5c22c0 100644
--- a/FreeSql/Internal/CommonExpression.cs
+++ b/FreeSql/Internal/CommonExpression.cs
@@ -30,7 +30,7 @@ namespace FreeSql.Internal
internal const int ReadAnonymousFieldAsCsName = -53129;
public bool ReadAnonymousField(List _tables, StringBuilder field, ReadAnonymousTypeInfo parent, ref int index, Expression exp, Select0Provider select, SelectGroupingProvider grouping, List whereCascadeExpression, List findIncludeMany, bool isAllDtoMap)
{
- Func getTSC = () => new ExpTSC { _tables = _tables, grouping = grouping, tbtype = SelectTableInfoType.From, isQuoteName = true, isDisableDiyParse = false, style = ExpressionStyle.Where, whereCascadeExpression = whereCascadeExpression };
+ Func getTSC = () => new ExpTSC { _tables = _tables, grouping = grouping, tbtype = SelectTableInfoType.From, isQuoteName = true, isDisableDiyParse = false, style = ExpressionStyle.Where, whereCascadeExpression = whereCascadeExpression, dbParams = select?._params }; //#462 添加 DbParams 解决
switch (exp.NodeType)
{
case ExpressionType.Quote: return ReadAnonymousField(_tables, field, parent, ref index, (exp as UnaryExpression)?.Operand, select, grouping, whereCascadeExpression, findIncludeMany, isAllDtoMap);