diff --git a/FreeSql.DbContext/FreeSql.DbContext.xml b/FreeSql.DbContext/FreeSql.DbContext.xml
index eacd506b..63db6c75 100644
--- a/FreeSql.DbContext/FreeSql.DbContext.xml
+++ b/FreeSql.DbContext/FreeSql.DbContext.xml
@@ -121,13 +121,6 @@
清空状态数据
-
-
- 根据 lambda 条件删除数据
-
-
-
-
添加
@@ -222,15 +215,6 @@
-
-
- 批量注入 Repository,可以参考代码自行调整
-
-
-
-
-
-
注意:IFreeSql 属于顶级对象,事务无法自动传递。
diff --git a/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/Dameng/DamengCodeFirstTest.cs b/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/Dameng/DamengCodeFirstTest.cs
index 98e1eeea..015df564 100644
--- a/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/Dameng/DamengCodeFirstTest.cs
+++ b/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/Dameng/DamengCodeFirstTest.cs
@@ -27,55 +27,108 @@ namespace FreeSql.Tests.Odbc.Dameng
}
[Fact]
- public void ı_ֶ()
+ public void ֱ_ֶ()
{
- var sql = g.dameng.CodeFirst.GetComparisonDDLStatements<ı>();
- g.dameng.CodeFirst.SyncStructure<ı>();
+ var sql = g.dameng.CodeFirst.GetComparisonDDLStatements<ֱ>();
+ g.dameng.CodeFirst.SyncStructure<ֱ>();
- var item = new ı
+ var item = new ֱ
{
= "Ա",
ʱ = DateTime.Now
};
- Assert.Equal(1, g.dameng.Insert<ı>().AppendData(item).ExecuteAffrows());
+ Assert.Equal(1, g.dameng.Insert<ֱ>().AppendData(item).ExecuteAffrows());
Assert.NotEqual(Guid.Empty, item.);
- var item2 = g.dameng.Select<ı>().Where(a => a. == item.).First();
+ var item2 = g.dameng.Select<ֱ>().Where(a => a. == item.).First();
Assert.NotNull(item2);
Assert.Equal(item., item2.);
Assert.Equal(item., item2.);
item. = "Ա";
- Assert.Equal(1, g.dameng.Update<ı>().SetSource(item).ExecuteAffrows());
- item2 = g.dameng.Select<ı>().Where(a => a. == item.).First();
+ Assert.Equal(1, g.dameng.Update<ֱ>().SetSource(item).ExecuteAffrows());
+ item2 = g.dameng.Select<ֱ>().Where(a => a. == item.).First();
Assert.NotNull(item2);
Assert.Equal(item., item2.);
Assert.Equal(item., item2.);
item. = "Ա_repo";
- var repo = g.dameng.GetRepository<ı>();
+ var repo = g.dameng.GetRepository<ֱ>();
Assert.Equal(1, repo.Update(item));
- item2 = g.dameng.Select<ı>().Where(a => a. == item.).First();
+ item2 = g.dameng.Select<ֱ>().Where(a => a. == item.).First();
Assert.NotNull(item2);
Assert.Equal(item., item2.);
Assert.Equal(item., item2.);
item. = "Ա_repo22";
Assert.Equal(1, repo.Update(item));
- item2 = g.dameng.Select<ı>().Where(a => a. == item.).First();
+ item2 = g.dameng.Select<ֱ>().Where(a => a. == item.).First();
Assert.NotNull(item2);
Assert.Equal(item., item2.);
Assert.Equal(item., item2.);
}
- class ı
+ [Table(Name = "123ֱ")]
+ class ֱ
{
- [Column(IsPrimary = true)]
+ [Column(IsPrimary = true, Name = "123")]
public Guid { get; set; }
+ [Column(Name = "123")]
public string { get; set; }
+ [Column(Name = "123ʱ")]
public DateTime ʱ { get; set; }
}
+ //[Fact]
+ //public void ı_ֶ()
+ //{
+ // var sql = g.dameng.CodeFirst.GetComparisonDDLStatements<ı>();
+ // g.dameng.CodeFirst.SyncStructure<ı>();
+
+ // var item = new ı
+ // {
+ // = "Ա",
+ // ʱ = DateTime.Now
+ // };
+ // Assert.Equal(1, g.dameng.Insert<ı>().AppendData(item).ExecuteAffrows());
+ // Assert.NotEqual(Guid.Empty, item.);
+ // var item2 = g.dameng.Select<ı>().Where(a => a. == item.).First();
+ // Assert.NotNull(item2);
+ // Assert.Equal(item., item2.);
+ // Assert.Equal(item., item2.);
+
+ // item. = "Ա";
+ // Assert.Equal(1, g.dameng.Update<ı>().SetSource(item).ExecuteAffrows());
+ // item2 = g.dameng.Select<ı>().Where(a => a. == item.).First();
+ // Assert.NotNull(item2);
+ // Assert.Equal(item., item2.);
+ // Assert.Equal(item., item2.);
+
+ // item. = "Ա_repo";
+ // var repo = g.dameng.GetRepository<ı>();
+ // Assert.Equal(1, repo.Update(item));
+ // item2 = g.dameng.Select<ı>().Where(a => a. == item.).First();
+ // Assert.NotNull(item2);
+ // Assert.Equal(item., item2.);
+ // Assert.Equal(item., item2.);
+
+ // item. = "Ա_repo22";
+ // Assert.Equal(1, repo.Update(item));
+ // item2 = g.dameng.Select<ı>().Where(a => a. == item.).First();
+ // Assert.NotNull(item2);
+ // Assert.Equal(item., item2.);
+ // Assert.Equal(item., item2.);
+ //}
+ //class ı
+ //{
+ // [Column(IsPrimary = true)]
+ // public Guid { get; set; }
+
+ // public string { get; set; }
+
+ // public DateTime ʱ { get; set; }
+ //}
+
[Fact]
public void AddUniques()
{
diff --git a/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/g.cs b/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/g.cs
index e0b589bd..56004005 100644
--- a/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/g.cs
+++ b/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/g.cs
@@ -70,8 +70,8 @@ public class g
public static IFreeSql odbc => odbcLazy.Value;
static Lazy damemgLazy = new Lazy(() => new FreeSql.FreeSqlBuilder()
- .UseConnectionString(FreeSql.DataType.OdbcDameng, "Driver={DM8 ODBC DRIVER};Server=127.0.0.1:5236;Persist Security Info=False;Trusted_Connection=Yes;UID=USER1;PWD=123456789")
- //.UseConnectionFactory(FreeSql.DataType.OdbcDameng, () => new System.Data.Odbc.OdbcConnection("Driver={DM8 ODBC DRIVER};Server=127.0.0.1:5236;Persist Security Info=False;Trusted_Connection=Yes;UID=USER1;PWD=123456789"))
+ .UseConnectionString(FreeSql.DataType.OdbcDameng, "Driver={DM8 ODBC DRIVER};Server=127.0.0.1:5236;Persist Security Info=False;Trusted_Connection=Yes;UID=123USER1;PWD=123456789")
+ //.UseConnectionFactory(FreeSql.DataType.OdbcDameng, () => new System.Data.Odbc.OdbcConnection("Driver={DM8 ODBC DRIVER};Server=127.0.0.1:5236;Persist Security Info=False;Trusted_Connection=Yes;UID=123USER1;PWD=123456789"))
.UseAutoSyncStructure(true)
.UseLazyLoading(true)
.UseNameConvert(FreeSql.Internal.NameConvertType.ToUpper)
@@ -85,8 +85,8 @@ public class g
//启动南大通用数据库 oninit -vy
static Lazy gbaseLazy = new Lazy(() => new FreeSql.FreeSqlBuilder()
- .UseConnectionString(FreeSql.DataType.OdbcDameng, "Driver={GBase ODBC DRIVER (64-bit)};Server=192.168.164.10:5236;Persist Security Info=False;Trusted_Connection=Yes;UID=USER1;PWD=123456789")
- //.UseConnectionFactory(FreeSql.DataType.OdbcDameng, () => new System.Data.Odbc.OdbcConnection("Driver={DM8 ODBC DRIVER};Server=127.0.0.1:5236;Persist Security Info=False;Trusted_Connection=Yes;UID=USER1;PWD=123456789"))
+ .UseConnectionString(FreeSql.DataType.OdbcDameng, "Driver={GBase ODBC DRIVER (64-bit)};Server=192.168.164.10:5236;Persist Security Info=False;Trusted_Connection=Yes;UID=123USER1;PWD=123456789")
+ //.UseConnectionFactory(FreeSql.DataType.OdbcDameng, () => new System.Data.Odbc.OdbcConnection("Driver={DM8 ODBC DRIVER};Server=127.0.0.1:5236;Persist Security Info=False;Trusted_Connection=Yes;UID=123USER1;PWD=123456789"))
.UseAutoSyncStructure(true)
.UseLazyLoading(true)
.UseNameConvert(FreeSql.Internal.NameConvertType.ToUpper)
diff --git a/FreeSql.Tests/FreeSql.Tests/g.cs b/FreeSql.Tests/FreeSql.Tests/g.cs
index 992dfb44..131bb7bd 100644
--- a/FreeSql.Tests/FreeSql.Tests/g.cs
+++ b/FreeSql.Tests/FreeSql.Tests/g.cs
@@ -55,8 +55,8 @@ public class g
public static IFreeSql sqlserver => sqlserverLazy.Value;
static Lazy oracleLazy = new Lazy(() => new FreeSql.FreeSqlBuilder()
- .UseConnectionString(FreeSql.DataType.Oracle, "user id=user1;password=123456;data source=//127.0.0.1:1521/XE;Pooling=true;Max Pool Size=2")
- //.UseConnectionFactory(FreeSql.DataType.Oracle, () => new Oracle.ManagedDataAccess.Client.OracleConnection("user id=user1;password=123456;data source=//127.0.0.1:1521/XE;Pooling=true;"))
+ .UseConnectionString(FreeSql.DataType.Oracle, "user id=123user1;password=123456;data source=//127.0.0.1:1521/XE;Pooling=true;Max Pool Size=2")
+ //.UseConnectionFactory(FreeSql.DataType.Oracle, () => new Oracle.ManagedDataAccess.Client.OracleConnection("user id=123user1;password=123456;data source=//127.0.0.1:1521/XE;Pooling=true;"))
.UseAutoSyncStructure(true)
//.UseGenerateCommandParameterWithLambda(true)
.UseLazyLoading(true)
diff --git a/Providers/FreeSql.Provider.Odbc/Dameng/OdbcDamengCodeFirst.cs b/Providers/FreeSql.Provider.Odbc/Dameng/OdbcDamengCodeFirst.cs
index b28aad3f..a2a91981 100644
--- a/Providers/FreeSql.Provider.Odbc/Dameng/OdbcDamengCodeFirst.cs
+++ b/Providers/FreeSql.Provider.Odbc/Dameng/OdbcDamengCodeFirst.cs
@@ -139,7 +139,7 @@ namespace FreeSql.Odbc.Dameng
if (tb.Primarys.Any())
{
var pkname = primaryKeyName ?? $"{tbname[0]}_{tbname[1]}_pk1";
- sb.Append(" \r\n CONSTRAINT ").Append(pkname).Append(" PRIMARY KEY (");
+ sb.Append(" \r\n CONSTRAINT ").Append(_commonUtils.QuoteSqlName(pkname)).Append(" PRIMARY KEY (");
foreach (var tbcol in tb.Primarys) sb.Append(_commonUtils.QuoteSqlName(tbcol.Attribute.Name)).Append(", ");
sb.Remove(sb.Length - 2, 2).Append("),");
}
@@ -323,7 +323,7 @@ and not exists(select 1 from all_constraints where index_name = a.index_name and
if (tb.Primarys.Any())
{
var pkname = primaryKeyName ?? $"{tbname[0]}_{tbname[1]}_pk2";
- sb.Append(" \r\n CONSTRAINT ").Append(pkname).Append(" PRIMARY KEY (");
+ sb.Append(" \r\n CONSTRAINT ").Append(_commonUtils.QuoteSqlName(pkname)).Append(" PRIMARY KEY (");
foreach (var tbcol in tb.Primarys) sb.Append(_commonUtils.QuoteSqlName(tbcol.Attribute.Name)).Append(", ");
sb.Remove(sb.Length - 2, 2).Append("),");
}
@@ -384,12 +384,12 @@ and not exists(select 1 from all_constraints where index_name = a.index_name and
{
if (dicDeclare.ContainsKey(seqname) == false)
{
- sbDeclare.Append("\r\n").Append(seqname).Append("IS NUMBER; \r\n");
+ sbDeclare.Append("\r\nIS").Append(seqname).Append(" NUMBER; \r\n");
dicDeclare.Add(seqname, true);
}
- sb.Append(seqname).Append("IS := 0; \r\n")
- .Append(" select count(1) into ").Append(seqname).Append(_commonUtils.FormatSql("IS from user_sequences where sequence_name={0}; \r\n", seqname))
- .Append("if ").Append(seqname).Append("IS > 0 then \r\n")
+ sb.Append("IS").Append(seqname).Append(" := 0; \r\n")
+ .Append(" select count(1) into IS").Append(seqname).Append(_commonUtils.FormatSql(" from user_sequences where sequence_name={0}; \r\n", seqname))
+ .Append("if IS").Append(seqname).Append(" > 0 then \r\n")
.Append(" execute immediate 'DROP SEQUENCE ").Append(_commonUtils.QuoteSqlName(seqname)).Append("';\r\n")
.Append("end if; \r\n");
};
@@ -397,12 +397,12 @@ and not exists(select 1 from all_constraints where index_name = a.index_name and
{
if (dicDeclare.ContainsKey(tiggerName) == false)
{
- sbDeclare.Append("\r\n").Append(tiggerName).Append("IS NUMBER; \r\n");
+ sbDeclare.Append("\r\nIS").Append(tiggerName).Append(" NUMBER; \r\n");
dicDeclare.Add(tiggerName, true);
}
- sb.Append(tiggerName).Append("IS := 0; \r\n")
- .Append(" select count(1) into ").Append(tiggerName).Append(_commonUtils.FormatSql("IS from user_triggers where trigger_name={0}; \r\n", tiggerName))
- .Append("if ").Append(tiggerName).Append("IS > 0 then \r\n")
+ sb.Append("IS").Append(tiggerName).Append(" := 0; \r\n")
+ .Append(" select count(1) into IS").Append(tiggerName).Append(_commonUtils.FormatSql(" from user_triggers where trigger_name={0}; \r\n", tiggerName))
+ .Append("if IS").Append(tiggerName).Append(" > 0 then \r\n")
.Append(" execute immediate 'DROP TRIGGER ").Append(_commonUtils.QuoteSqlName(tiggerName)).Append("';\r\n")
.Append("end if; \r\n");
};
diff --git a/Providers/FreeSql.Provider.Odbc/Oracle/OdbcOracleCodeFirst.cs b/Providers/FreeSql.Provider.Odbc/Oracle/OdbcOracleCodeFirst.cs
index f741ef1b..a898f956 100644
--- a/Providers/FreeSql.Provider.Odbc/Oracle/OdbcOracleCodeFirst.cs
+++ b/Providers/FreeSql.Provider.Odbc/Oracle/OdbcOracleCodeFirst.cs
@@ -139,7 +139,7 @@ namespace FreeSql.Odbc.Oracle
if (tb.Primarys.Any())
{
var pkname = primaryKeyName ?? $"{tbname[0]}_{tbname[1]}_pk1";
- sb.Append(" \r\n CONSTRAINT ").Append(pkname).Append(" PRIMARY KEY (");
+ sb.Append(" \r\n CONSTRAINT ").Append(_commonUtils.QuoteSqlName(pkname)).Append(" PRIMARY KEY (");
foreach (var tbcol in tb.Primarys) sb.Append(_commonUtils.QuoteSqlName(tbcol.Attribute.Name)).Append(", ");
sb.Remove(sb.Length - 2, 2).Append("),");
}
@@ -321,7 +321,7 @@ and not exists(select 1 from all_constraints where constraint_name = a.index_nam
if (tb.Primarys.Any())
{
var pkname = primaryKeyName ?? $"{tbname[0]}_{tbname[1]}_pk2";
- sb.Append(" \r\n CONSTRAINT ").Append(pkname).Append(" PRIMARY KEY (");
+ sb.Append(" \r\n CONSTRAINT ").Append(_commonUtils.QuoteSqlName(pkname)).Append(" PRIMARY KEY (");
foreach (var tbcol in tb.Primarys) sb.Append(_commonUtils.QuoteSqlName(tbcol.Attribute.Name)).Append(", ");
sb.Remove(sb.Length - 2, 2).Append("),");
}
@@ -382,12 +382,12 @@ and not exists(select 1 from all_constraints where constraint_name = a.index_nam
{
if (dicDeclare.ContainsKey(seqname) == false)
{
- sbDeclare.Append("\r\n").Append(seqname).Append("IS NUMBER; \r\n");
+ sbDeclare.Append("\r\nIS").Append(seqname).Append(" NUMBER; \r\n");
dicDeclare.Add(seqname, true);
}
- sb.Append(seqname).Append("IS := 0; \r\n")
- .Append(" select count(1) into ").Append(seqname).Append(_commonUtils.FormatSql("IS from user_sequences where sequence_name={0}; \r\n", seqname))
- .Append("if ").Append(seqname).Append("IS > 0 then \r\n")
+ sb.Append("IS").Append(seqname).Append(" := 0; \r\n")
+ .Append(" select count(1) into IS").Append(seqname).Append(_commonUtils.FormatSql(" from user_sequences where sequence_name={0}; \r\n", seqname))
+ .Append("if IS").Append(seqname).Append(" > 0 then \r\n")
.Append(" execute immediate 'DROP SEQUENCE ").Append(_commonUtils.QuoteSqlName(seqname)).Append("';\r\n")
.Append("end if; \r\n");
};
@@ -395,12 +395,12 @@ and not exists(select 1 from all_constraints where constraint_name = a.index_nam
{
if (dicDeclare.ContainsKey(tiggerName) == false)
{
- sbDeclare.Append("\r\n").Append(tiggerName).Append("IS NUMBER; \r\n");
+ sbDeclare.Append("\r\nIS").Append(tiggerName).Append(" NUMBER; \r\n");
dicDeclare.Add(tiggerName, true);
}
- sb.Append(tiggerName).Append("IS := 0; \r\n")
- .Append(" select count(1) into ").Append(tiggerName).Append(_commonUtils.FormatSql("IS from user_triggers where trigger_name={0}; \r\n", tiggerName))
- .Append("if ").Append(tiggerName).Append("IS > 0 then \r\n")
+ sb.Append("IS").Append(tiggerName).Append(" := 0; \r\n")
+ .Append(" select count(1) into IS").Append(tiggerName).Append(_commonUtils.FormatSql(" from user_triggers where trigger_name={0}; \r\n", tiggerName))
+ .Append("if IS").Append(tiggerName).Append(" > 0 then \r\n")
.Append(" execute immediate 'DROP TRIGGER ").Append(_commonUtils.QuoteSqlName(tiggerName)).Append("';\r\n")
.Append("end if; \r\n");
};
diff --git a/Providers/FreeSql.Provider.Odbc/PostgreSQL/OdbcPostgreSQLCodeFirst.cs b/Providers/FreeSql.Provider.Odbc/PostgreSQL/OdbcPostgreSQLCodeFirst.cs
index 854ee076..71e3322a 100644
--- a/Providers/FreeSql.Provider.Odbc/PostgreSQL/OdbcPostgreSQLCodeFirst.cs
+++ b/Providers/FreeSql.Provider.Odbc/PostgreSQL/OdbcPostgreSQLCodeFirst.cs
@@ -132,7 +132,8 @@ namespace FreeSql.Odbc.PostgreSQL
}
if (tb.Primarys.Any())
{
- sb.Append(" \r\n CONSTRAINT ").Append(tbname[0]).Append("_").Append(tbname[1]).Append("_pkey PRIMARY KEY (");
+ var pkname = $"{tbname[0]}_{tbname[1]}_pkey";
+ sb.Append(" \r\n CONSTRAINT ").Append(_commonUtils.QuoteSqlName(pkname)).Append(" PRIMARY KEY (");
foreach (var tbcol in tb.Primarys) sb.Append(_commonUtils.QuoteSqlName(tbcol.Attribute.Name)).Append(", ");
sb.Remove(sb.Length - 2, 2).Append("),");
}
@@ -329,7 +330,8 @@ where pg_namespace.nspname={0} and pg_class.relname={1} and pg_constraint.contyp
}
if (tb.Primarys.Any())
{
- sb.Append(" \r\n CONSTRAINT ").Append(tbname[0]).Append("_").Append(tbname[1]).Append("_pkey PRIMARY KEY (");
+ var pkname = $"{tbname[0]}_{tbname[1]}_pkey";
+ sb.Append(" \r\n CONSTRAINT ").Append(_commonUtils.QuoteSqlName(pkname)).Append(" PRIMARY KEY (");
foreach (var tbcol in tb.Primarys) sb.Append(_commonUtils.QuoteSqlName(tbcol.Attribute.Name)).Append(", ");
sb.Remove(sb.Length - 2, 2).Append("),");
}
diff --git a/Providers/FreeSql.Provider.Oracle/OracleCodeFirst.cs b/Providers/FreeSql.Provider.Oracle/OracleCodeFirst.cs
index b28bc7a2..132219f0 100644
--- a/Providers/FreeSql.Provider.Oracle/OracleCodeFirst.cs
+++ b/Providers/FreeSql.Provider.Oracle/OracleCodeFirst.cs
@@ -140,7 +140,7 @@ namespace FreeSql.Oracle
if (tb.Primarys.Any())
{
var pkname = primaryKeyName ?? $"{tbname[0]}_{tbname[1]}_pk1";
- sb.Append(" \r\n CONSTRAINT ").Append(pkname).Append(" PRIMARY KEY (");
+ sb.Append(" \r\n CONSTRAINT ").Append(_commonUtils.QuoteSqlName(pkname)).Append(" PRIMARY KEY (");
foreach (var tbcol in tb.Primarys) sb.Append(_commonUtils.QuoteSqlName(tbcol.Attribute.Name)).Append(", ");
sb.Remove(sb.Length - 2, 2).Append("),");
}
@@ -322,7 +322,7 @@ and not exists(select 1 from all_constraints where constraint_name = a.index_nam
if (tb.Primarys.Any())
{
var pkname = primaryKeyName ?? $"{tbname[0]}_{tbname[1]}_pk2";
- sb.Append(" \r\n CONSTRAINT ").Append(pkname).Append(" PRIMARY KEY (");
+ sb.Append(" \r\n CONSTRAINT ").Append(_commonUtils.QuoteSqlName(pkname)).Append(" PRIMARY KEY (");
foreach (var tbcol in tb.Primarys) sb.Append(_commonUtils.QuoteSqlName(tbcol.Attribute.Name)).Append(", ");
sb.Remove(sb.Length - 2, 2).Append("),");
}
@@ -383,12 +383,12 @@ and not exists(select 1 from all_constraints where constraint_name = a.index_nam
{
if (dicDeclare.ContainsKey(seqname) == false)
{
- sbDeclare.Append("\r\n").Append(seqname).Append("IS NUMBER; \r\n");
+ sbDeclare.Append("\r\nIS").Append(seqname).Append(" NUMBER; \r\n");
dicDeclare.Add(seqname, true);
}
- sb.Append(seqname).Append("IS := 0; \r\n")
- .Append(" select count(1) into ").Append(seqname).Append(_commonUtils.FormatSql("IS from user_sequences where sequence_name={0}; \r\n", seqname))
- .Append("if ").Append(seqname).Append("IS > 0 then \r\n")
+ sb.Append("IS").Append(seqname).Append(" := 0; \r\n")
+ .Append(" select count(1) into IS").Append(seqname).Append(_commonUtils.FormatSql(" from user_sequences where sequence_name={0}; \r\n", seqname))
+ .Append("if IS").Append(seqname).Append(" > 0 then \r\n")
.Append(" execute immediate 'DROP SEQUENCE ").Append(_commonUtils.QuoteSqlName(seqname)).Append("';\r\n")
.Append("end if; \r\n");
};
@@ -396,12 +396,12 @@ and not exists(select 1 from all_constraints where constraint_name = a.index_nam
{
if (dicDeclare.ContainsKey(tiggerName) == false)
{
- sbDeclare.Append("\r\n").Append(tiggerName).Append("IS NUMBER; \r\n");
+ sbDeclare.Append("\r\nIS").Append(tiggerName).Append(" NUMBER; \r\n");
dicDeclare.Add(tiggerName, true);
}
- sb.Append(tiggerName).Append("IS := 0; \r\n")
- .Append(" select count(1) into ").Append(tiggerName).Append(_commonUtils.FormatSql("IS from user_triggers where trigger_name={0}; \r\n", tiggerName))
- .Append("if ").Append(tiggerName).Append("IS > 0 then \r\n")
+ sb.Append("IS").Append(tiggerName).Append(" := 0; \r\n")
+ .Append(" select count(1) into IS").Append(tiggerName).Append(_commonUtils.FormatSql(" from user_triggers where trigger_name={0}; \r\n", tiggerName))
+ .Append("if IS").Append(tiggerName).Append(" > 0 then \r\n")
.Append(" execute immediate 'DROP TRIGGER ").Append(_commonUtils.QuoteSqlName(tiggerName)).Append("';\r\n")
.Append("end if; \r\n");
};
diff --git a/Providers/FreeSql.Provider.PostgreSQL/PostgreSQLCodeFirst.cs b/Providers/FreeSql.Provider.PostgreSQL/PostgreSQLCodeFirst.cs
index 392f55bf..7e714a49 100644
--- a/Providers/FreeSql.Provider.PostgreSQL/PostgreSQLCodeFirst.cs
+++ b/Providers/FreeSql.Provider.PostgreSQL/PostgreSQLCodeFirst.cs
@@ -167,7 +167,8 @@ namespace FreeSql.PostgreSQL
}
if (tb.Primarys.Any())
{
- sb.Append(" \r\n CONSTRAINT ").Append(tbname[0]).Append("_").Append(tbname[1]).Append("_pkey PRIMARY KEY (");
+ var pkname = $"{tbname[0]}_{tbname[1]}_pkey";
+ sb.Append(" \r\n CONSTRAINT ").Append(_commonUtils.QuoteSqlName(pkname)).Append(" PRIMARY KEY (");
foreach (var tbcol in tb.Primarys) sb.Append(_commonUtils.QuoteSqlName(tbcol.Attribute.Name)).Append(", ");
sb.Remove(sb.Length - 2, 2).Append("),");
}
@@ -364,7 +365,8 @@ where pg_namespace.nspname={0} and pg_class.relname={1} and pg_constraint.contyp
}
if (tb.Primarys.Any())
{
- sb.Append(" \r\n CONSTRAINT ").Append(tbname[0]).Append("_").Append(tbname[1]).Append("_pkey PRIMARY KEY (");
+ var pkname = $"{tbname[0]}_{tbname[1]}_pkey";
+ sb.Append(" \r\n CONSTRAINT ").Append(_commonUtils.QuoteSqlName(pkname)).Append(" PRIMARY KEY (");
foreach (var tbcol in tb.Primarys) sb.Append(_commonUtils.QuoteSqlName(tbcol.Attribute.Name)).Append(", ");
sb.Remove(sb.Length - 2, 2).Append("),");
}