diff --git a/FreeSql.DbContext/FreeSql.DbContext.xml b/FreeSql.DbContext/FreeSql.DbContext.xml
index 132d875e..4854f49c 100644
--- a/FreeSql.DbContext/FreeSql.DbContext.xml
+++ b/FreeSql.DbContext/FreeSql.DbContext.xml
@@ -125,6 +125,13 @@
清空状态数据
+
+
+ 根据 lambda 条件删除数据
+
+
+
+
添加
@@ -479,5 +486,14 @@
+
+
+ 批量注入 Repository,可以参考代码自行调整
+
+
+
+
+
+
diff --git a/FreeSql.Tests/FreeSql.Tests/PostgreSQL/PostgreSQLDbFirstTest.cs b/FreeSql.Tests/FreeSql.Tests/PostgreSQL/PostgreSQLDbFirstTest.cs
index f6c823c4..9bd86da7 100644
--- a/FreeSql.Tests/FreeSql.Tests/PostgreSQL/PostgreSQLDbFirstTest.cs
+++ b/FreeSql.Tests/FreeSql.Tests/PostgreSQL/PostgreSQLDbFirstTest.cs
@@ -1,5 +1,6 @@
using FreeSql.DataAnnotations;
using System;
+using System.Linq;
using Xunit;
namespace FreeSql.Tests.PostgreSQL
@@ -20,6 +21,8 @@ namespace FreeSql.Tests.PostgreSQL
var t2 = g.pgsql.DbFirst.GetTablesByDatabase(g.pgsql.DbFirst.GetDatabases()[1]);
+ var tb_alltype = t2.Where(a => a.Name == "tb_alltype").FirstOrDefault();
+
}
}
}
diff --git a/FreeSql.Tests/FreeSql.Tests/UnitTest3.cs b/FreeSql.Tests/FreeSql.Tests/UnitTest3.cs
index 54f51f72..75026510 100644
--- a/FreeSql.Tests/FreeSql.Tests/UnitTest3.cs
+++ b/FreeSql.Tests/FreeSql.Tests/UnitTest3.cs
@@ -16,6 +16,10 @@ using kwlib;
using System.Diagnostics;
using System.IO;
using System.Text;
+using Newtonsoft.Json;
+using System.Net.NetworkInformation;
+using System.Net;
+using System.Collections;
namespace FreeSql.Tests
{
@@ -502,3 +506,5 @@ namespace FreeSql.Tests
}
}
+
+
diff --git a/Providers/FreeSql.Provider.Odbc/KingbaseES/OdbcKingbaseESDbFirst.cs b/Providers/FreeSql.Provider.Odbc/KingbaseES/OdbcKingbaseESDbFirst.cs
index 41c69855..62156ec7 100644
--- a/Providers/FreeSql.Provider.Odbc/KingbaseES/OdbcKingbaseESDbFirst.cs
+++ b/Providers/FreeSql.Provider.Odbc/KingbaseES/OdbcKingbaseESDbFirst.cs
@@ -220,7 +220,7 @@ case when a.atttypmod > 0 and a.atttypmod < 32767 then a.atttypmod - 4 else a.at
case when t.typelem = 0 then t.typname else t2.typname end,
case when a.attnotnull then 0 else 1 end as is_nullable,
--e.adsrc as is_identity, pg12以下
-(select sys_get_expr(adbin, adrelid) from sys_attrdef where adrelid = e.adrelid limit 1) is_identity,
+(select sys_get_expr(adbin, adrelid) from sys_attrdef where adrelid = e.adrelid and adnum = e.adnum limit 1) is_identity,
d.description as comment,
a.attndims,
case when t.typelem = 0 then t.typtype else t2.typtype end,
@@ -274,6 +274,7 @@ where {loc8.ToString().Replace("a.table_name", "ns.nspname || '.' || c.relname")
case "bpchar": case "varchar": case "bytea": case "bit": case "varbit": sqlType += $"({max_length})"; break;
}
}
+ if (attndims > 0) type += "[]";
loc3[object_id].Add(column, new DbColumnInfo
{
diff --git a/Providers/FreeSql.Provider.Odbc/PostgreSQL/OdbcPostgreSQLDbFirst.cs b/Providers/FreeSql.Provider.Odbc/PostgreSQL/OdbcPostgreSQLDbFirst.cs
index b9104da5..52400443 100644
--- a/Providers/FreeSql.Provider.Odbc/PostgreSQL/OdbcPostgreSQLDbFirst.cs
+++ b/Providers/FreeSql.Provider.Odbc/PostgreSQL/OdbcPostgreSQLDbFirst.cs
@@ -212,7 +212,7 @@ case when a.atttypmod > 0 and a.atttypmod < 32767 then a.atttypmod - 4 else a.at
case when t.typelem = 0 then t.typname else t2.typname end,
case when a.attnotnull then 0 else 1 end as is_nullable,
--e.adsrc as is_identity, pg12以下
-(select pg_get_expr(adbin, adrelid) from pg_attrdef where adrelid = e.adrelid limit 1) is_identity,
+(select pg_get_expr(adbin, adrelid) from pg_attrdef where adrelid = e.adrelid and adnum = e.adnum limit 1) is_identity,
d.description as comment,
a.attndims,
case when t.typelem = 0 then t.typtype else t2.typtype end,
@@ -266,6 +266,7 @@ where {loc8.ToString().Replace("a.table_name", "ns.nspname || '.' || c.relname")
case "bpchar": case "varchar": case "bytea": case "bit": case "varbit": sqlType += $"({max_length})"; break;
}
}
+ if (attndims > 0) type += "[]";
loc3[object_id].Add(column, new DbColumnInfo
{
diff --git a/Providers/FreeSql.Provider.PostgreSQL/PostgreSQLDbFirst.cs b/Providers/FreeSql.Provider.PostgreSQL/PostgreSQLDbFirst.cs
index 225c2ab3..11afd1cf 100644
--- a/Providers/FreeSql.Provider.PostgreSQL/PostgreSQLDbFirst.cs
+++ b/Providers/FreeSql.Provider.PostgreSQL/PostgreSQLDbFirst.cs
@@ -322,7 +322,7 @@ case when a.atttypmod > 0 and a.atttypmod < 32767 then a.atttypmod - 4 else a.at
case when t.typelem = 0 then t.typname else t2.typname end,
case when a.attnotnull then 0 else 1 end as is_nullable,
--e.adsrc as is_identity, pg12以下
-(select pg_get_expr(adbin, adrelid) from pg_attrdef where adrelid = e.adrelid limit 1) is_identity,
+(select pg_get_expr(adbin, adrelid) from pg_attrdef where adrelid = e.adrelid and adnum = e.adnum limit 1) is_identity,
d.description as comment,
a.attndims,
case when t.typelem = 0 then t.typtype else t2.typtype end,
@@ -376,6 +376,7 @@ where {loc8.ToString().Replace("a.table_name", "ns.nspname || '.' || c.relname")
case "bpchar": case "varchar": case "bytea": case "bit": case "varbit": sqlType += $"({max_length})"; break;
}
}
+ if (attndims > 0) type += "[]";
loc3[object_id].Add(column, new DbColumnInfo
{
diff --git a/Providers/FreeSql.Provider.ShenTong/ShenTongDbFirst.cs b/Providers/FreeSql.Provider.ShenTong/ShenTongDbFirst.cs
index a79c01ae..6f6e10b1 100644
--- a/Providers/FreeSql.Provider.ShenTong/ShenTongDbFirst.cs
+++ b/Providers/FreeSql.Provider.ShenTong/ShenTongDbFirst.cs
@@ -232,7 +232,7 @@ case when a.atttypmod > 0 and a.atttypmod < 32767 then a.atttypmod - 4 else a.at
case when t.typelem = 0 then t.typname else t2.typname end,
case when a.attnotnull then 0 else 1 end as is_nullable,
--e.adsrc as is_identity, pg12以下
-(select sys_get_expr(adbin, adrelid) from sys_attrdef where adrelid = e.adrelid limit 1) is_identity,
+(select sys_get_expr(adbin, adrelid) from sys_attrdef where adrelid = e.adrelid and adnum = e.adnum limit 1) is_identity,
d.description as comment,
a.attndims,
case when t.typelem = 0 then t.typtype else t2.typtype end,
@@ -286,6 +286,7 @@ where {loc8.ToString().Replace("a.table_name", "ns.nspname || '.' || c.relname")
case "bpchar": case "varchar": case "bytea": case "bit": case "varbit": sqlType += $"({max_length})"; break;
}
}
+ if (attndims > 0) type += "[]";
loc3[object_id].Add(column, new DbColumnInfo
{