From 43585661cadc5cb5a14cf8672c251b79b2f8d388 Mon Sep 17 00:00:00 2001 From: 2881099 <2881099@qq.com> Date: Tue, 1 Dec 2020 06:04:59 +0800 Subject: [PATCH] add test --- FreeSql.Tests/FreeSql.Tests/UnitTest4.cs | 36 ++++++++++++++++++++++++ README.md | 2 +- 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/FreeSql.Tests/FreeSql.Tests/UnitTest4.cs b/FreeSql.Tests/FreeSql.Tests/UnitTest4.cs index 608fb115..aea7beec 100644 --- a/FreeSql.Tests/FreeSql.Tests/UnitTest4.cs +++ b/FreeSql.Tests/FreeSql.Tests/UnitTest4.cs @@ -13,6 +13,42 @@ namespace FreeSql.Tests { public class UnitTest4 { + [Fact] + public void SelectLambdaParameter() + { + using (var fsql = new FreeSql.FreeSqlBuilder() + .UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=.;Integrated Security=True;Initial Catalog=freesqlTest;Pooling=true;min pool size=1;Max Pool Size=51") + .UseAutoSyncStructure(true) + .UseGenerateCommandParameterWithLambda(true) + .UseMonitorCommand( + cmd => Trace.WriteLine("\r\n线程" + Thread.CurrentThread.ManagedThreadId + ": " + cmd.CommandText) //监听SQL命令对象,在执行前 + //, (cmd, traceLog) => Console.WriteLine(traceLog) + ) + .Build()) + { + fsql.Delete().Where("1=1").ExecuteAffrows(); + + var testItem = new ts_slp01(); + var sql1 = fsql.Select().Where(a => a.name == testItem.GetTestName1()).ToSql(); + var sql2 = fsql.Select().Where(a => a.name == testItem.GetTestName2()).ToSql(); + + Assert.Equal(@"SELECT a.[id], a.[name] +FROM [ts_slp01] a +WHERE (a.[name] = @exp_0)", sql1); + Assert.Equal(@"SELECT a.[id], a.[name] +FROM [ts_slp01] a +WHERE (a.[name] IS NULL)", sql2); + } + } + class ts_slp01 + { + public Guid id { get; set; } + public string name { get; set; } + + public string GetTestName1() => "xxx"; + public string GetTestName2() => null; + } + [Fact] public void SelectN_SubSelectN() { diff --git a/README.md b/README.md index e8382ff6..5222ff37 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ QQ Groups:4336577(full)、**8578575(available)**、**52508226(available)** | | | - | -| [基础入门](https://www.cnblogs.com/FreeSql/p/11531300.html)  \|  [Select](https://github.com/2881099/FreeSql/wiki/%e6%9f%a5%e8%af%a2)  \|  [Update](https://github.com/2881099/FreeSql/wiki/%e4%bf%ae%e6%94%b9)  \|  [Insert](https://github.com/2881099/FreeSql/wiki/%e6%b7%bb%e5%8a%a0)  \|  [Delete](https://github.com/2881099/FreeSql/wiki/%e5%88%a0%e9%99%a4)  \|  [FAQ](https://github.com/dotnetcore/FreeSql/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98)  | +| [新手上路](https://www.cnblogs.com/FreeSql/p/11531300.html)  \|  [Select](https://github.com/2881099/FreeSql/wiki/%e6%9f%a5%e8%af%a2)  \|  [Update](https://github.com/2881099/FreeSql/wiki/%e4%bf%ae%e6%94%b9)  \|  [Insert](https://github.com/2881099/FreeSql/wiki/%e6%b7%bb%e5%8a%a0)  \|  [Delete](https://github.com/2881099/FreeSql/wiki/%e5%88%a0%e9%99%a4)  \|  [FAQ](https://github.com/dotnetcore/FreeSql/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98)  | | [Expression](https://github.com/2881099/FreeSql/wiki/%e8%a1%a8%e8%be%be%e5%bc%8f%e5%87%bd%e6%95%b0)  \|  [CodeFirst](https://github.com/2881099/FreeSql/wiki/CodeFirst)  \|  [DbFirst](https://github.com/2881099/FreeSql/wiki/DbFirst)  \|  [Filters](https://github.com/2881099/FreeSql/wiki/%e8%bf%87%e6%bb%a4%e5%99%a8)  \|  [AOP](https://github.com/2881099/FreeSql/wiki/AOP)  | | [Repository](https://github.com/2881099/FreeSql/wiki/Repository)  \|  [UnitOfWork](https://github.com/2881099/FreeSql/wiki/%e5%b7%a5%e4%bd%9c%e5%8d%95%e5%85%83)  \|  [DbContext](https://github.com/2881099/FreeSql/wiki/DbContext)  \|  [ADO](https://github.com/2881099/FreeSql/wiki/ADO)  | | [Read/Write](https://github.com/2881099/FreeSql/wiki/%e8%af%bb%e5%86%99%e5%88%86%e7%a6%bb)  \|  [Splitting Table](https://github.com/2881099/FreeSql/wiki/%e5%88%86%e8%a1%a8%e5%88%86%e5%ba%93)  \|  [Hide tech](https://github.com/2881099/FreeSql/wiki/%E9%AA%9A%E6%93%8D%E4%BD%9C)  \|  [*Update Notes*](https://github.com/2881099/FreeSql/wiki/%e6%9b%b4%e6%96%b0%e6%97%a5%e5%bf%97)  |