From 3efb41281cf9172067f38a7b776972c768919eb4 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Tue, 11 Jul 2017 13:51:05 +0800 Subject: [PATCH] MYSQL Query complex model BUG --- Src/Asp.Net/MySqlTest/Demos/1_Query.cs | 7 +++++++ .../Realization/MySql/SqlBuilder/MySqlQueryBuilder.cs | 6 +++++- .../Realization/Sqlite/SqlBuilder/SqliteQueryBuilder.cs | 6 +++++- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/Src/Asp.Net/MySqlTest/Demos/1_Query.cs b/Src/Asp.Net/MySqlTest/Demos/1_Query.cs index 915da3535..24244d842 100644 --- a/Src/Asp.Net/MySqlTest/Demos/1_Query.cs +++ b/Src/Asp.Net/MySqlTest/Demos/1_Query.cs @@ -328,6 +328,13 @@ namespace OrmTest.Demo .OrderBy(st => st.Id, OrderByType.Desc) .OrderBy((st, sc) => sc.Id, OrderByType.Desc) .Select((st, sc) => new { Name = st.Name, SchoolId = sc.Id }).ToList(); + + var s7 = db.Queryable((st, sc) => new object[] { + JoinType.Left,st.SchoolId==sc.Id + }) + .OrderBy(st => st.Id, OrderByType.Desc) + .OrderBy((st, sc) => sc.Id, OrderByType.Desc) + .Select((st, sc) => new ViewModelStudent2 { Name = st.Name, Student=st }).ToList(); } private static void Sqlable() { diff --git a/Src/Asp.Net/SqlSugar/Realization/MySql/SqlBuilder/MySqlQueryBuilder.cs b/Src/Asp.Net/SqlSugar/Realization/MySql/SqlBuilder/MySqlQueryBuilder.cs index 78a856aa9..74a7556ea 100644 --- a/Src/Asp.Net/SqlSugar/Realization/MySql/SqlBuilder/MySqlQueryBuilder.cs +++ b/Src/Asp.Net/SqlSugar/Realization/MySql/SqlBuilder/MySqlQueryBuilder.cs @@ -1,5 +1,6 @@ using System.Linq; using System.Text; +using System.Text.RegularExpressions; namespace SqlSugar { @@ -28,7 +29,10 @@ namespace SqlSugar #endregion #region Common Methods - + public override bool IsComplexModel(string sql) + { + return Regex.IsMatch(sql, @"AS \`\w+\.\w+\`"); + } public override string ToSqlString() { sql = new StringBuilder(); diff --git a/Src/Asp.Net/SqlSugar/Realization/Sqlite/SqlBuilder/SqliteQueryBuilder.cs b/Src/Asp.Net/SqlSugar/Realization/Sqlite/SqlBuilder/SqliteQueryBuilder.cs index 4af54008e..adafa5d53 100644 --- a/Src/Asp.Net/SqlSugar/Realization/Sqlite/SqlBuilder/SqliteQueryBuilder.cs +++ b/Src/Asp.Net/SqlSugar/Realization/Sqlite/SqlBuilder/SqliteQueryBuilder.cs @@ -1,5 +1,6 @@ using System.Linq; using System.Text; +using System.Text.RegularExpressions; namespace SqlSugar { @@ -28,7 +29,10 @@ namespace SqlSugar #endregion #region Common Methods - + public override bool IsComplexModel(string sql) + { + return Regex.IsMatch(sql, @"AS \`\w+\.\w+\`"); + } public override string ToSqlString() { sql = new StringBuilder();