From 62f7be2910b34a894fd891c68315b4b6de72879d Mon Sep 17 00:00:00 2001 From: d4ilys <963922242@qq.com> Date: Tue, 13 May 2025 11:02:55 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E4=BF=AE=E5=A4=8D=20Duckdb=20CodeFirst=20C?= =?UTF-8?q?reate=20Index=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FreeSql.Tests.Provider.Duckdb/g.cs | 2 +- .../DuckdbCodeFirst.cs | 37 ++++++++++--------- 2 files changed, 21 insertions(+), 18 deletions(-) diff --git a/FreeSql.Tests/FreeSql.Tests.Provider.Duckdb/g.cs b/FreeSql.Tests/FreeSql.Tests.Provider.Duckdb/g.cs index 2a42216ef..d43cd3c5f 100644 --- a/FreeSql.Tests/FreeSql.Tests.Provider.Duckdb/g.cs +++ b/FreeSql.Tests/FreeSql.Tests.Provider.Duckdb/g.cs @@ -14,7 +14,7 @@ public class g .UseNameConvert(FreeSql.Internal.NameConvertType.ToLower) .UseMonitorCommand( cmd => Trace.WriteLine("\r\n线程" + Thread.CurrentThread.ManagedThreadId + ": " + cmd.CommandText) //监听SQL命令对象,在执行前 - //, (cmd, traceLog) => Console.WriteLine(traceLog) + , (cmd, traceLog) => Console.WriteLine(traceLog) ) .Build(); }); diff --git a/Providers/FreeSql.Provider.Duckdb/DuckdbCodeFirst.cs b/Providers/FreeSql.Provider.Duckdb/DuckdbCodeFirst.cs index 54176e6a9..f9dbb8c70 100644 --- a/Providers/FreeSql.Provider.Duckdb/DuckdbCodeFirst.cs +++ b/Providers/FreeSql.Provider.Duckdb/DuckdbCodeFirst.cs @@ -167,32 +167,35 @@ namespace FreeSql.Duckdb } sb.Remove(sb.Length - 1, 1); sb.Append("\r\n) \r\n;\r\n"); + ////创建表的索引 + //foreach (var uk in tb.Indexes) + //{ + // sb.Append("CREATE "); + // if (uk.IsUnique) sb.Append("UNIQUE "); + // sb.Append("INDEX "); + // sb.Append(_commonUtils.QuoteSqlName(tbname[0], ReplaceIndexName(uk.Name, tbname[1]))).Append(" ON ").Append(tbname[1]).Append("("); + // foreach (var tbcol in uk.Columns) + // { + // sb.Append(_commonUtils.QuoteSqlName(tbcol.Column.Attribute.Name)); + // if (tbcol.IsDesc) sb.Append(" DESC"); + // sb.Append(", "); + // } + // sb.Remove(sb.Length - 2, 2).Append(");\r\n"); + //} //创建表的索引 foreach (var uk in tb.Indexes) { sb.Append("CREATE "); - if (uk.IsUnique) sb.Append("UNIQUE "); - sb.Append("INDEX ").Append(_commonUtils.QuoteSqlName(tbname[0], ReplaceIndexName(uk.Name, tbname[1]))).Append(" ON ").Append(tbname[1]).Append("("); - foreach (var tbcol in uk.Columns) - { - sb.Append(_commonUtils.QuoteSqlName(tbcol.Column.Attribute.Name)); - if (tbcol.IsDesc) sb.Append(" DESC"); - sb.Append(", "); - } - sb.Remove(sb.Length - 2, 2).Append(");\r\n"); - } - //创建表的索引 - foreach (var uk in tb.Indexes) - { - sb.Append("CREATE "); - if (uk.IsUnique) sb.Append("UNIQUE "); + if (uk.IsUnique) + sb.Append("UNIQUE "); sb.Append("INDEX "); - sb.Append(_commonUtils.QuoteSqlName(ReplaceIndexName(uk.Name, tbname[1]))).Append(" ON ").Append(createTableName); + sb.Append(uk.Name).Append(" ON ").Append(_commonUtils.QuoteSqlName(ReplaceIndexName(createTableName, tbname[1]))); sb.Append("("); foreach (var tbcol in uk.Columns) { sb.Append(_commonUtils.QuoteSqlName(tbcol.Column.Attribute.Name)); - if (tbcol.IsDesc) sb.Append(" DESC"); + if (tbcol.IsDesc) + sb.Append(" DESC"); sb.Append(", "); } sb.Remove(sb.Length - 2, 2).Append(");\r\n");