From d61997d1b206e11d878c373eb310e187db1cf152 Mon Sep 17 00:00:00 2001
From: 28810 <28810@YEXIANGQIN>
Date: Sun, 5 Jul 2020 06:32:13 +0800
Subject: [PATCH] =?UTF-8?q?-=20=E5=AE=8C=E5=96=84=20$"{id}=5F{name}"=20lam?=
=?UTF-8?q?bda=20=E8=A7=A3=E6=9E=90=E4=B8=8E=E6=B5=8B=E8=AF=95=EF=BC=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
FreeSql.DbContext/FreeSql.DbContext.xml | 16 ++++++++++++
.../MySqlConnectorExpression/StringTest.cs | 23 ++++++++++++++++
.../Dameng/DamengExpression/ConvertTest.cs | 4 +--
.../Dameng/DamengExpression/StringTest.cs | 22 ++++++++++++++++
.../KingbaseESExpression/StringTest.cs | 22 ++++++++++++++++
.../MySql/MySqlExpression/StringTest.cs | 23 ++++++++++++++++
.../Oracle/OracleExpression/StringTest.cs | 22 ++++++++++++++++
.../PostgreSQLExpression/StringTest.cs | 22 ++++++++++++++++
.../SqlServerExpression/StringTest.cs | 23 ++++++++++++++++
.../Dameng/DamengExpression/ConvertTest.cs | 4 +--
.../Dameng/DamengExpression/StringTest.cs | 22 ++++++++++++++++
.../MsAccess/MsAccessExpression/StringTest.cs | 23 ++++++++++++++++
.../MySql/MySqlExpression/StringTest.cs | 23 ++++++++++++++++
.../Oracle/OracleExpression/StringTest.cs | 22 ++++++++++++++++
.../PostgreSQLExpression/StringTest.cs | 22 ++++++++++++++++
.../ShenTong/ShenTongExpression/StringTest.cs | 22 ++++++++++++++++
.../SqlServerExpression/StringTest.cs | 23 ++++++++++++++++
.../Sqlite/SqliteExpression/StringTest.cs | 23 ++++++++++++++++
FreeSql/Internal/CommonExpression.cs | 26 +------------------
.../DamengExpression.cs | 8 ++++--
.../MsAccessExpression.cs | 4 +++
.../FreeSql.Provider.MySql/MySqlExpression.cs | 5 ++++
.../Dameng/OdbcDamengExpression.cs | 8 ++++--
.../KingbaseES/OdbcKingbaseESExpression.cs | 4 +++
.../MySql/OdbcMySqlExpression.cs | 5 ++++
.../Oracle/OdbcOracleExpression.cs | 6 ++++-
.../PostgreSQL/OdbcPostgreSQLExpression.cs | 4 +++
.../SqlServer/OdbcSqlServerExpression.cs | 14 ++++++++++
.../OracleExpression.cs | 6 ++++-
.../PostgreSQLExpression.cs | 4 +++
.../ShenTongExpression.cs | 4 +++
.../SqlServerExpression.cs | 14 ++++++++++
.../SqliteExpression.cs | 4 +++
33 files changed, 442 insertions(+), 35 deletions(-)
diff --git a/FreeSql.DbContext/FreeSql.DbContext.xml b/FreeSql.DbContext/FreeSql.DbContext.xml
index 132d875e..4854f49c 100644
--- a/FreeSql.DbContext/FreeSql.DbContext.xml
+++ b/FreeSql.DbContext/FreeSql.DbContext.xml
@@ -125,6 +125,13 @@
清空状态数据
+
+
+ 根据 lambda 条件删除数据
+
+
+
+
添加
@@ -479,5 +486,14 @@
+
+
+ 批量注入 Repository,可以参考代码自行调整
+
+
+
+
+
+
diff --git a/FreeSql.Tests/FreeSql.Tests.Provider.MySqlConnector/MySqlConnector/MySqlConnectorExpression/StringTest.cs b/FreeSql.Tests/FreeSql.Tests.Provider.MySqlConnector/MySqlConnector/MySqlConnectorExpression/StringTest.cs
index 485a1d4f..55f11292 100644
--- a/FreeSql.Tests/FreeSql.Tests.Provider.MySqlConnector/MySqlConnector/MySqlConnectorExpression/StringTest.cs
+++ b/FreeSql.Tests/FreeSql.Tests.Provider.MySqlConnector/MySqlConnector/MySqlConnectorExpression/StringTest.cs
@@ -52,6 +52,29 @@ namespace FreeSql.Tests.MySqlConnectorExpression
list.Add(g.mysql.Select().Where(a => a.IsDeleted.Equals(false)).ToList());
}
+ [Fact]
+ public void Format()
+ {
+ var item = g.mysql.GetRepository().Insert(new Topic { Clicks = 101, Title = "й101", CreateTime = DateTime.Parse("2020-7-5") });
+ var sql = select.WhereDynamic(item).ToSql(a => new
+ {
+ str = $"x{a.Id + 1}z-{a.CreateTime.ToString("yyyyMM")}{a.Title}",
+ str2 = string.Format("{0}x{0}z-{1}{2}", a.Id + 1, a.CreateTime.ToString("yyyyMM"), a.Title)
+ });
+ Assert.Equal($@"SELECT concat('x',(a.`Id` + 1),'z-',date_format(a.`CreateTime`,'%Y%m'),'',a.`Title`,'') as1, concat('',(a.`Id` + 1),'x',(a.`Id` + 1),'z-',date_format(a.`CreateTime`,'%Y%m'),'',a.`Title`,'') as2
+FROM `tb_topic` a
+WHERE (a.`Id` = {item.Id})", sql);
+
+ var item2 = select.WhereDynamic(item).First(a => new
+ {
+ str = $"x{a.Id + 1}z-{a.CreateTime.ToString("yyyyMM")}{a.Title}",
+ str2 = string.Format("{0}x{0}z-{1}{2}", a.Id + 1, a.CreateTime.ToString("yyyyMM"), a.Title)
+ });
+ Assert.NotNull(item2);
+ Assert.Equal($"x{item.Id + 1}z-{item.CreateTime.ToString("yyyyMM")}{item.Title}", item2.str);
+ Assert.Equal(string.Format("{0}x{0}z-{1}{2}", item.Id + 1, item.CreateTime.ToString("yyyyMM"), item.Title), item2.str2);
+ }
+
[Fact]
public void Empty()
{
diff --git a/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/Dameng/DamengExpression/ConvertTest.cs b/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/Dameng/DamengExpression/ConvertTest.cs
index f3a89e5b..2c513229 100644
--- a/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/Dameng/DamengExpression/ConvertTest.cs
+++ b/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/Dameng/DamengExpression/ConvertTest.cs
@@ -162,8 +162,8 @@ namespace FreeSql.Tests.Odbc.DamengExpression
public void Random()
{
var data = new List