From daf1fa062977d243f6e9820d258fc8ee92ac3d32 Mon Sep 17 00:00:00 2001 From: 2881099 <2881099@qq.com> Date: Wed, 17 Apr 2024 17:56:56 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E4=BF=AE=E5=A4=8D=20=E6=97=B6=E6=9E=9A?= =?UTF-8?q?=E4=B8=BE=E8=BD=AC=20int=20=E5=86=8D=E8=BD=AC=E5=AD=97=E7=AC=A6?= =?UTF-8?q?=E4=B8=B2=E6=8A=A5=E9=94=99=EF=BC=9B#1781?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Examples/base_entity/Program.cs | 25 +++++++++++++++++++++++-- FreeSql/Internal/CommonExpression.cs | 2 +- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/Examples/base_entity/Program.cs b/Examples/base_entity/Program.cs index 3d732d38..ba2af102 100644 --- a/Examples/base_entity/Program.cs +++ b/Examples/base_entity/Program.cs @@ -490,6 +490,13 @@ namespace base_entity { public string Name { get; set; } } + public record UserDto1(Guid Id, string Username, string GroupName); + public class UserDto2 + { + public Guid Id { get; set; } + public string Username { get; set; } + public string GroupName { get; set; } + } [Table(Name = "class_{0}")] public class Class1111 @@ -570,9 +577,9 @@ namespace base_entity //.UseConnectionString(FreeSql.DataType.Firebird, @"database=localhost:D:\fbdata\EXAMPLES.fdb;user=sysdba;password=123456;max pool size=5") //.UseQuoteSqlName(false) - //.UseConnectionString(FreeSql.DataType.MySql, "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;Initial Catalog=cccddd;Charset=utf8;SslMode=none;min pool size=1;Max pool size=3;AllowLoadLocalInfile=true") + .UseConnectionString(FreeSql.DataType.MySql, "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;Initial Catalog=cccddd;Charset=utf8;SslMode=none;min pool size=1;Max pool size=3;AllowLoadLocalInfile=true") - .UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=.;Integrated Security=True;Initial Catalog=freesqlTest;Pooling=true;Max Pool Size=3;TrustServerCertificate=true") + //.UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=.;Integrated Security=True;Initial Catalog=freesqlTest;Pooling=true;Max Pool Size=3;TrustServerCertificate=true") //.UseAdoConnectionPool(false) //.UseConnectionString(FreeSql.DataType.PostgreSQL, "Host=127.0.0.1;Port=5432;Username=postgres;Password=123456;Database=tedb;Pooling=true;Maximum Pool Size=2") ////.UseConnectionString(FreeSql.DataType.PostgreSQL, "Host=127.0.0.1;Port=5432;Username=postgres;Password=123456;Database=toc;Pooling=true;Maximum Pool Size=2") @@ -612,6 +619,20 @@ namespace base_entity BaseEntity.Initialization(fsql, () => _asyncUow.Value); #endregion + var enumToString = fsql.Select().First(s => new + { + State = ((int)s.JoinTest01Enum2).ToString() + }); + + var userdto1s = fsql.Select().Limit(10).ToList(); + var userdto11s = fsql.Select().Limit(10).ToList(a => new UserDto1(a.Id, a.Username, null)); + var userdto2s = fsql.Select().Limit(10).ToList(); + + + var userdto1s2 = fsql.Select().InnerJoin((a, b) => a.GroupId == b.Id).Limit(10).ToList(); + var userdto11s2 = fsql.Select().InnerJoin((a, b) => a.GroupId == b.Id).Limit(10).ToList((a, b) => new UserDto1(a.Id, a.Username, b.GroupName)); + var userdto2s2 = fsql.Select().InnerJoin((a, b) => a.GroupId == b.Id).Limit(10).ToList(); + fsql.Select().Where(a => a.Id == new Guid("xxx")).ToList(a => new Guid("zzz")); fsql.Aop.AuditValue += (_, e) => diff --git a/FreeSql/Internal/CommonExpression.cs b/FreeSql/Internal/CommonExpression.cs index 42a173ca..21f314df 100644 --- a/FreeSql/Internal/CommonExpression.cs +++ b/FreeSql/Internal/CommonExpression.cs @@ -2271,7 +2271,7 @@ namespace FreeSql.Internal var expStackFirstMem = expStack.First() as MemberExpression; if (expStackFirstMem.Expression?.NodeType == ExpressionType.Constant) firstValue = (expStackFirstMem.Expression as ConstantExpression)?.Value; - else + else if (exp.IsParameter() == false) return Expression.Lambda(exp).Compile().DynamicInvoke(); break; case ExpressionType.Call: