From 0f088d378a3caed2988613d03be9c59ca34c2790 Mon Sep 17 00:00:00 2001 From: "610262374@qq.com" Date: Sun, 16 Jun 2019 18:19:54 +0800 Subject: [PATCH] Update exp to sql --- .../SqlServerTest/UnitTest/UQueryable.cs | 37 +++++++++++++++++++ .../ExpressionsToSql/Common/ExpressionTool.cs | 9 ++++- 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/Src/Asp.Net/SqlServerTest/UnitTest/UQueryable.cs b/Src/Asp.Net/SqlServerTest/UnitTest/UQueryable.cs index 460b6e8e4..fab97fcd4 100644 --- a/Src/Asp.Net/SqlServerTest/UnitTest/UQueryable.cs +++ b/Src/Asp.Net/SqlServerTest/UnitTest/UQueryable.cs @@ -9,6 +9,7 @@ namespace OrmTest { public partial class NewUnitTest { + public static Unit_SYS_USER UserLoginInfo => new Unit_SYS_USER() { XH = "10010" }; public static void Queryable() { @@ -81,8 +82,44 @@ namespace OrmTest var ids = Enumerable.Range(1, 11).ToList(); var list8=Db.Queryable().Where(it => SqlFunc.ContainsArrayUseSqlParameters(ids, it.Id)).ToList(); + + var result2 = Db.Queryable().Where(o => o.XH == UserLoginInfo.XH).Select(o => o.XH).ToSql(); } + + /// + /// 系统用户表实体模型类 + /// + [SugarTable("Unit_SYS_USER")] + + public class Unit_SYS_USER + { + /// + /// 序号 + /// + private string _XH; + + /// + /// 序号【主键唯一标识,自动生成】 + /// + [SugarColumn(ColumnName = "XH", + ColumnDataType = "VARCHAR2", + IsPrimaryKey = true, + IsNullable = false, + Length = 50, + ColumnDescription = "序号【主键唯一标识,自动生成】")] + public string XH + { + get + { + return _XH; + } + set + { + _XH = value; + } + } + } public static class IEnumerbleContains { public static IEnumerable Data() diff --git a/Src/Asp.Net/SqlSugar/ExpressionsToSql/Common/ExpressionTool.cs b/Src/Asp.Net/SqlSugar/ExpressionsToSql/Common/ExpressionTool.cs index b13165c84..50fbe4123 100644 --- a/Src/Asp.Net/SqlSugar/ExpressionsToSql/Common/ExpressionTool.cs +++ b/Src/Asp.Net/SqlSugar/ExpressionsToSql/Common/ExpressionTool.cs @@ -96,7 +96,14 @@ namespace SqlSugar var isField = memberExpr.Member.MemberType == MemberTypes.Field; if (isProperty) { - reval = GetPropertyValue(memberExpr); + try + { + reval = GetPropertyValue(memberExpr); + } + catch + { + reval = null; + } } else if (isField) {