diff --git a/Directory.Build.props b/Directory.Build.props
index c43cdb3df..364f0d638 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -12,7 +12,7 @@
diff --git a/Extensions/FreeSql.Extensions.AggregateRoot/FreeSql.Extensions.AggregateRoot.csproj b/Extensions/FreeSql.Extensions.AggregateRoot/FreeSql.Extensions.AggregateRoot.csproj
index f73e0fbb7..ea538d117 100644
--- a/Extensions/FreeSql.Extensions.AggregateRoot/FreeSql.Extensions.AggregateRoot.csproj
+++ b/Extensions/FreeSql.Extensions.AggregateRoot/FreeSql.Extensions.AggregateRoot.csproj
@@ -18,7 +18,7 @@
true
key.snk
false
- 3.5.200
+ 3.5.201
readme.md
diff --git a/Extensions/FreeSql.Extensions.BaseEntity/FreeSql.Extensions.BaseEntity.csproj b/Extensions/FreeSql.Extensions.BaseEntity/FreeSql.Extensions.BaseEntity.csproj
index 2e8a71d3c..f23cbaf25 100644
--- a/Extensions/FreeSql.Extensions.BaseEntity/FreeSql.Extensions.BaseEntity.csproj
+++ b/Extensions/FreeSql.Extensions.BaseEntity/FreeSql.Extensions.BaseEntity.csproj
@@ -19,7 +19,7 @@
key.snk
false
latest
- 3.5.200
+ 3.5.201
readme.md
diff --git a/Extensions/FreeSql.Extensions.JsonMap/FreeSql.Extensions.JsonMap.csproj b/Extensions/FreeSql.Extensions.JsonMap/FreeSql.Extensions.JsonMap.csproj
index a0185b42d..c9c6d23d4 100644
--- a/Extensions/FreeSql.Extensions.JsonMap/FreeSql.Extensions.JsonMap.csproj
+++ b/Extensions/FreeSql.Extensions.JsonMap/FreeSql.Extensions.JsonMap.csproj
@@ -18,7 +18,7 @@
true
key.snk
false
- 3.5.200
+ 3.5.201
readme.md
diff --git a/Extensions/FreeSql.Extensions.LazyLoading/FreeSql.Extensions.LazyLoading.csproj b/Extensions/FreeSql.Extensions.LazyLoading/FreeSql.Extensions.LazyLoading.csproj
index c62b480a5..d3dbcbd1e 100644
--- a/Extensions/FreeSql.Extensions.LazyLoading/FreeSql.Extensions.LazyLoading.csproj
+++ b/Extensions/FreeSql.Extensions.LazyLoading/FreeSql.Extensions.LazyLoading.csproj
@@ -15,7 +15,7 @@
$(AssemblyName)
true
true
- 3.5.200
+ 3.5.201
readme.md
diff --git a/Extensions/FreeSql.Extensions.Linq/FreeSql.Extensions.Linq.csproj b/Extensions/FreeSql.Extensions.Linq/FreeSql.Extensions.Linq.csproj
index 50f254a95..3c22fe4a9 100644
--- a/Extensions/FreeSql.Extensions.Linq/FreeSql.Extensions.Linq.csproj
+++ b/Extensions/FreeSql.Extensions.Linq/FreeSql.Extensions.Linq.csproj
@@ -18,7 +18,7 @@
true
key.snk
false
- 3.5.200
+ 3.5.201
readme.md
diff --git a/Extensions/FreeSql.Extensions.ZeroEntity/FreeSql.Extensions.ZeroEntity.csproj b/Extensions/FreeSql.Extensions.ZeroEntity/FreeSql.Extensions.ZeroEntity.csproj
index ce09875fd..f31b875fa 100644
--- a/Extensions/FreeSql.Extensions.ZeroEntity/FreeSql.Extensions.ZeroEntity.csproj
+++ b/Extensions/FreeSql.Extensions.ZeroEntity/FreeSql.Extensions.ZeroEntity.csproj
@@ -18,7 +18,7 @@
true
key.snk
false
- 3.5.200
+ 3.5.201
readme.md
diff --git a/Extensions/FreeSql.Generator/FreeSql.Generator.csproj b/Extensions/FreeSql.Generator/FreeSql.Generator.csproj
index 0c2f0758b..994e99aa7 100644
--- a/Extensions/FreeSql.Generator/FreeSql.Generator.csproj
+++ b/Extensions/FreeSql.Generator/FreeSql.Generator.csproj
@@ -13,7 +13,7 @@
https://github.com/2881099/FreeSql
https://github.com/2881099/FreeSql
FreeSql DbFirst 实体生成器
- 3.5.200
+ 3.5.201
readme.md
diff --git a/FreeSql.All/FreeSql.All.csproj b/FreeSql.All/FreeSql.All.csproj
index 7c7485e37..93dbda0b1 100644
--- a/FreeSql.All/FreeSql.All.csproj
+++ b/FreeSql.All/FreeSql.All.csproj
@@ -17,7 +17,7 @@
true
key.snk
false
- 3.5.200
+ 3.5.201
readme.md
diff --git a/FreeSql.DbContext/FreeSql.DbContext.csproj b/FreeSql.DbContext/FreeSql.DbContext.csproj
index f1a167b38..589f8989b 100644
--- a/FreeSql.DbContext/FreeSql.DbContext.csproj
+++ b/FreeSql.DbContext/FreeSql.DbContext.csproj
@@ -17,7 +17,7 @@
true
key.snk
false
- 3.5.200
+ 3.5.201
readme.md
diff --git a/FreeSql.DbContext/FreeSql.DbContext.xml b/FreeSql.DbContext/FreeSql.DbContext.xml
index c941a15d9..8e4fe1bc3 100644
--- a/FreeSql.DbContext/FreeSql.DbContext.xml
+++ b/FreeSql.DbContext/FreeSql.DbContext.xml
@@ -651,6 +651,12 @@
+
+
+ 将DbContext的事务交给我管理
+
+
+
创建工作单元
@@ -712,15 +718,6 @@
-
-
- 根据Assembly扫描所有继承IEntityTypeConfiguration<T>的配置类
-
-
-
-
-
-
创建普通数据上下文档对象
@@ -758,13 +755,5 @@
-
-
- 批量注入 Repository,可以参考代码自行调整
-
-
-
-
-
diff --git a/FreeSql.DbContext/UnitOfWork/UnitOfWorkManager.cs b/FreeSql.DbContext/UnitOfWork/UnitOfWorkManager.cs
index 258b537f3..914f75161 100644
--- a/FreeSql.DbContext/UnitOfWork/UnitOfWorkManager.cs
+++ b/FreeSql.DbContext/UnitOfWork/UnitOfWorkManager.cs
@@ -18,7 +18,7 @@ namespace FreeSql
public IFreeSql Orm => _ormScoped;
List _rawUows = new List();
List _allUows = new List();
- List _repos = new List();
+ List _binds = new List();
public UnitOfWorkManager(IFreeSql fsql)
{
@@ -53,7 +53,7 @@ namespace FreeSql
{
_rawUows.Clear();
_allUows.Clear();
- _repos.Clear();
+ _binds.Clear();
GC.SuppressFinalize(this);
}
}
@@ -70,15 +70,30 @@ namespace FreeSql
///
public void Binding(IBaseRepository repository)
{
- var repoInfo = new RepoInfo(repository);
+ var bind = new BindInfo(repository);
repository.UnitOfWork = Current;
- if (_repos.Any(a => a.Repository == repository)) return;
- _repos.Add(repoInfo);
+ if (_binds.Any(a => a.Repository == repository)) return;
+ _binds.Add(bind);
}
- void SetAllRepositoryUow()
+ ///
+ /// 将DbContext的事务交给我管理
+ ///
+ ///
+ public void Binding(DbContext dbContext)
{
- foreach (var repo in _repos)
- repo.Repository.UnitOfWork = Current ?? repo.OrginalUow;
+ var bind = new BindInfo(dbContext);
+ dbContext._isUseUnitOfWork = false;
+ dbContext.UnitOfWork = Current;
+ if (_binds.Any(a => a.DbContext == dbContext)) return;
+ _binds.Add(bind);
+ }
+ void SetAllBindsUow()
+ {
+ foreach (var bind in _binds)
+ {
+ if (bind.Repository != null) bind.Repository.UnitOfWork = Current ?? bind.OrginalUow;
+ if (bind.DbContext != null) bind.DbContext.UnitOfWork = Current ?? bind.OrginalUow;
+ }
}
///
@@ -121,7 +136,7 @@ namespace FreeSql
var uowInfo = new UowInfo(uow, UowInfo.UowType.Virtual, isNotSupported);
uow.OnDispose = () => _allUows.Remove(uowInfo);
_allUows.Add(uowInfo);
- SetAllRepositoryUow();
+ SetAllBindsUow();
return uow;
}
}
@@ -133,7 +148,7 @@ namespace FreeSql
var uowInfo = new UowInfo(uow, UowInfo.UowType.Nothing, isNotSupported);
uow.OnDispose = () => _allUows.Remove(uowInfo);
_allUows.Add(uowInfo);
- SetAllRepositoryUow();
+ SetAllBindsUow();
return uow;
}
IUnitOfWork CreateUow(IsolationLevel? isolationLevel)
@@ -148,24 +163,30 @@ namespace FreeSql
{
_rawUows.Remove(uowInfo);
_allUows.Remove(uowInfo);
- SetAllRepositoryUow();
+ SetAllBindsUow();
};
_rawUows.Add(uowInfo);
_allUows.Add(uowInfo);
- SetAllRepositoryUow();
+ SetAllBindsUow();
return uow;
}
- class RepoInfo
+ class BindInfo
{
+ public DbContext DbContext;
public IBaseRepository Repository;
public IUnitOfWork OrginalUow;
- public RepoInfo(IBaseRepository repository)
+ public BindInfo(IBaseRepository repository)
{
this.Repository = repository;
this.OrginalUow = repository.UnitOfWork;
}
+ public BindInfo(DbContext dbContext)
+ {
+ this.DbContext = dbContext;
+ this.OrginalUow = dbContext.UnitOfWork;
+ }
}
class UowInfo
{
diff --git a/FreeSql.Repository/FreeSql.Repository.csproj b/FreeSql.Repository/FreeSql.Repository.csproj
index e1ff6fc7e..ca00f4c7f 100644
--- a/FreeSql.Repository/FreeSql.Repository.csproj
+++ b/FreeSql.Repository/FreeSql.Repository.csproj
@@ -17,7 +17,7 @@
true
key.snk
false
- 3.5.200
+ 3.5.201
readme.md
diff --git a/FreeSql/FreeSql.csproj b/FreeSql/FreeSql.csproj
index 7294e884a..f4b09a919 100644
--- a/FreeSql/FreeSql.csproj
+++ b/FreeSql/FreeSql.csproj
@@ -17,7 +17,7 @@
true
key.snk
false
- 3.5.200
+ 3.5.201
readme.md
diff --git a/FreeSql/FreeSql.xml b/FreeSql/FreeSql.xml
index 8eabd15c9..bb971cd96 100644
--- a/FreeSql/FreeSql.xml
+++ b/FreeSql/FreeSql.xml
@@ -6557,3 +6557,126 @@
+
+
+
+
+ 插入数据,传入实体集合
+
+
+
+
+
+
+
+ 插入数据,传入实体集合
+
+
+
+
+
+
+
+ 插入或更新数据,此功能依赖数据库特性(低版本可能不支持),参考如下:
+ MySql 5.6+: on duplicate key update
+ PostgreSQL 9.4+: on conflict do update
+ SqlServer 2008+: merge into
+ Oracle 11+: merge into
+ Sqlite: replace into
+ DuckDB: on conflict do update
+ 达梦: merge into
+ 人大金仓:on conflict do update
+ 神通:merge into
+ MsAccess:不支持
+ 注意区别:FreeSql.Repository 仓储也有 InsertOrUpdate 方法(不依赖数据库特性)
+
+
+
+
+
+
+ 修改数据
+
+
+
+
+
+
+ 修改数据,传入动态条件,如:主键值 | new[]{主键值1,主键值2} | TEntity1 | new[]{TEntity1,TEntity2} | new{id=1}
+
+
+ 主键值、主键值集合、实体、实体集合、匿名对象、匿名对象集合
+
+
+
+
+ 查询数据
+
+
+
+
+
+
+ 查询数据,传入动态条件,如:主键值 | new[]{主键值1,主键值2} | TEntity1 | new[]{TEntity1,TEntity2} | new{id=1}
+
+
+ 主键值、主键值集合、实体、实体集合、匿名对象、匿名对象集合
+
+
+
+
+ 删除数据
+
+
+
+
+
+
+ 删除数据,传入动态条件,如:主键值 | new[]{主键值1,主键值2} | TEntity1 | new[]{TEntity1,TEntity2} | new{id=1}
+
+
+ 主键值、主键值集合、实体、实体集合、匿名对象、匿名对象集合
+
+
+
+
+ 开启事务(不支持异步)
+ v1.5.0 关闭了线程事务超时自动提交的机制
+
+ 事务体 () => {}
+
+
+
+ 开启事务(不支持异步)
+ v1.5.0 关闭了线程事务超时自动提交的机制
+
+
+ 事务体 () => {}
+
+
+
+ 数据库访问对象
+
+
+
+
+ 所有拦截方法都在这里
+
+
+
+
+ CodeFirst 模式开发相关方法
+
+
+
+
+ DbFirst 模式开发相关方法
+
+
+
+
+ 全局过滤设置,可默认附加为 Select/Update/Delete 条件
+
+
+
+
diff --git a/Providers/FreeSql.Provider.ClickHouse/FreeSql.Provider.ClickHouse.csproj b/Providers/FreeSql.Provider.ClickHouse/FreeSql.Provider.ClickHouse.csproj
index d96c0d6f5..c8562a2ae 100644
--- a/Providers/FreeSql.Provider.ClickHouse/FreeSql.Provider.ClickHouse.csproj
+++ b/Providers/FreeSql.Provider.ClickHouse/FreeSql.Provider.ClickHouse.csproj
@@ -19,7 +19,7 @@
False
key.snk
false
- 3.5.200
+ 3.5.201
readme.md
diff --git a/Providers/FreeSql.Provider.Custom/FreeSql.Provider.Custom.csproj b/Providers/FreeSql.Provider.Custom/FreeSql.Provider.Custom.csproj
index b1ec1575b..ff4c6a82b 100644
--- a/Providers/FreeSql.Provider.Custom/FreeSql.Provider.Custom.csproj
+++ b/Providers/FreeSql.Provider.Custom/FreeSql.Provider.Custom.csproj
@@ -18,7 +18,7 @@
true
key.snk
false
- 3.5.200
+ 3.5.201
readme.md
diff --git a/Providers/FreeSql.Provider.Custom/MySql/CustomMySqlDbFirst.cs b/Providers/FreeSql.Provider.Custom/MySql/CustomMySqlDbFirst.cs
index 4b6dc6996..6d12fd986 100644
--- a/Providers/FreeSql.Provider.Custom/MySql/CustomMySqlDbFirst.cs
+++ b/Providers/FreeSql.Provider.Custom/MySql/CustomMySqlDbFirst.cs
@@ -432,7 +432,7 @@ where {(ignoreCase ? "lower(a.constraint_schema)" : "a.constraint_schema")} in (
bool b2 = loc4.ForeignsDict.Values.Where(fk => fk.Columns.Where(c3 => c3.Name == c2.Name).Any()).Any();
compare = b2.CompareTo(b1);
}
- if (compare == 0) compare = c1.Name.CompareTo(c2.Name);
+ if (compare == 0) compare = c1.Position.CompareTo(c2.Position);
return compare;
});
loc1.Add(loc4);
diff --git a/Providers/FreeSql.Provider.Custom/PostgreSQL/CustomPostgreSQLDbFirst.cs b/Providers/FreeSql.Provider.Custom/PostgreSQL/CustomPostgreSQLDbFirst.cs
index 1b560f7c7..4ada7b2e6 100644
--- a/Providers/FreeSql.Provider.Custom/PostgreSQL/CustomPostgreSQLDbFirst.cs
+++ b/Providers/FreeSql.Provider.Custom/PostgreSQL/CustomPostgreSQLDbFirst.cs
@@ -505,7 +505,7 @@ where {loc8.ToString().Replace("a.table_name", "ns.nspname || '.' || b.relname")
bool b2 = loc4.ForeignsDict.Values.Where(fk => fk.Columns.Where(c3 => c3.Name == c2.Name).Any()).Any();
compare = b2.CompareTo(b1);
}
- if (compare == 0) compare = c1.Name.CompareTo(c2.Name);
+ if (compare == 0) compare = c1.Position.CompareTo(c2.Position);
return compare;
});
loc1.Add(loc4);
diff --git a/Providers/FreeSql.Provider.Dameng/FreeSql.Provider.Dameng.csproj b/Providers/FreeSql.Provider.Dameng/FreeSql.Provider.Dameng.csproj
index c842850a6..9b9f303fa 100644
--- a/Providers/FreeSql.Provider.Dameng/FreeSql.Provider.Dameng.csproj
+++ b/Providers/FreeSql.Provider.Dameng/FreeSql.Provider.Dameng.csproj
@@ -15,7 +15,7 @@
$(AssemblyName)
true
true
- 3.5.200
+ 3.5.201
readme.md
diff --git a/Providers/FreeSql.Provider.Duckdb/FreeSql.Provider.Duckdb.csproj b/Providers/FreeSql.Provider.Duckdb/FreeSql.Provider.Duckdb.csproj
index f14d5b16e..5972237ea 100644
--- a/Providers/FreeSql.Provider.Duckdb/FreeSql.Provider.Duckdb.csproj
+++ b/Providers/FreeSql.Provider.Duckdb/FreeSql.Provider.Duckdb.csproj
@@ -18,7 +18,7 @@
true
key.snk
false
- 3.5.200
+ 3.5.201
readme.md
diff --git a/Providers/FreeSql.Provider.Firebird/FreeSql.Provider.Firebird.csproj b/Providers/FreeSql.Provider.Firebird/FreeSql.Provider.Firebird.csproj
index d065ee7c8..56f44a55d 100644
--- a/Providers/FreeSql.Provider.Firebird/FreeSql.Provider.Firebird.csproj
+++ b/Providers/FreeSql.Provider.Firebird/FreeSql.Provider.Firebird.csproj
@@ -18,7 +18,7 @@
true
key.snk
false
- 3.5.200
+ 3.5.201
readme.md
diff --git a/Providers/FreeSql.Provider.GBase/FreeSql.Provider.GBase.csproj b/Providers/FreeSql.Provider.GBase/FreeSql.Provider.GBase.csproj
index 725088ee2..162143026 100644
--- a/Providers/FreeSql.Provider.GBase/FreeSql.Provider.GBase.csproj
+++ b/Providers/FreeSql.Provider.GBase/FreeSql.Provider.GBase.csproj
@@ -18,7 +18,7 @@
true
key.snk
false
- 3.5.200
+ 3.5.201
readme.md
diff --git a/Providers/FreeSql.Provider.KingbaseES/FreeSql.Provider.KingbaseES.csproj b/Providers/FreeSql.Provider.KingbaseES/FreeSql.Provider.KingbaseES.csproj
index e9d4fa83f..f1fe1eb96 100644
--- a/Providers/FreeSql.Provider.KingbaseES/FreeSql.Provider.KingbaseES.csproj
+++ b/Providers/FreeSql.Provider.KingbaseES/FreeSql.Provider.KingbaseES.csproj
@@ -15,7 +15,7 @@
$(AssemblyName)
true
true
- 3.5.200
+ 3.5.201
readme.md
diff --git a/Providers/FreeSql.Provider.KingbaseES/KingbaseESDbFirst.cs b/Providers/FreeSql.Provider.KingbaseES/KingbaseESDbFirst.cs
index 8f9a8f50c..b77556d27 100644
--- a/Providers/FreeSql.Provider.KingbaseES/KingbaseESDbFirst.cs
+++ b/Providers/FreeSql.Provider.KingbaseES/KingbaseESDbFirst.cs
@@ -590,7 +590,7 @@ where {loc8.ToString().Replace("a.table_name", "ns.nspname || '.' || b.relname")
bool b2 = loc4.ForeignsDict.Values.Where(fk => fk.Columns.Where(c3 => c3.Name == c2.Name).Any()).Any();
compare = b2.CompareTo(b1);
}
- if (compare == 0) compare = c1.Name.CompareTo(c2.Name);
+ if (compare == 0) compare = c1.Position.CompareTo(c2.Position);
return compare;
});
loc1.Add(loc4);
diff --git a/Providers/FreeSql.Provider.MsAccess/FreeSql.Provider.MsAccess.csproj b/Providers/FreeSql.Provider.MsAccess/FreeSql.Provider.MsAccess.csproj
index ec42a0da6..2ffc35731 100644
--- a/Providers/FreeSql.Provider.MsAccess/FreeSql.Provider.MsAccess.csproj
+++ b/Providers/FreeSql.Provider.MsAccess/FreeSql.Provider.MsAccess.csproj
@@ -18,7 +18,7 @@
true
key.snk
false
- 3.5.200
+ 3.5.201
readme.md
diff --git a/Providers/FreeSql.Provider.MySql/FreeSql.Provider.MySql.csproj b/Providers/FreeSql.Provider.MySql/FreeSql.Provider.MySql.csproj
index fc1ea73aa..9767d4279 100644
--- a/Providers/FreeSql.Provider.MySql/FreeSql.Provider.MySql.csproj
+++ b/Providers/FreeSql.Provider.MySql/FreeSql.Provider.MySql.csproj
@@ -18,7 +18,7 @@
true
key.snk
false
- 3.5.200
+ 3.5.201
readme.md
diff --git a/Providers/FreeSql.Provider.MySql/MySqlDbFirst.cs b/Providers/FreeSql.Provider.MySql/MySqlDbFirst.cs
index 3e4034a20..0de90a3dd 100644
--- a/Providers/FreeSql.Provider.MySql/MySqlDbFirst.cs
+++ b/Providers/FreeSql.Provider.MySql/MySqlDbFirst.cs
@@ -465,7 +465,7 @@ where {(ignoreCase ? "lower(a.constraint_schema)" : "a.constraint_schema")} in (
bool b2 = loc4.ForeignsDict.Values.Where(fk => fk.Columns.Where(c3 => c3.Name == c2.Name).Any()).Any();
compare = b2.CompareTo(b1);
}
- if (compare == 0) compare = c1.Name.CompareTo(c2.Name);
+ if (compare == 0) compare = c1.Position.CompareTo(c2.Position);
return compare;
});
loc1.Add(loc4);
diff --git a/Providers/FreeSql.Provider.MySqlConnector/FreeSql.Provider.MySqlConnector.csproj b/Providers/FreeSql.Provider.MySqlConnector/FreeSql.Provider.MySqlConnector.csproj
index 2c9c85acb..a5bf2fcf5 100644
--- a/Providers/FreeSql.Provider.MySqlConnector/FreeSql.Provider.MySqlConnector.csproj
+++ b/Providers/FreeSql.Provider.MySqlConnector/FreeSql.Provider.MySqlConnector.csproj
@@ -18,7 +18,7 @@
true
key.snk
false
- 3.5.200
+ 3.5.201
readme.md
diff --git a/Providers/FreeSql.Provider.Odbc/FreeSql.Provider.Odbc.csproj b/Providers/FreeSql.Provider.Odbc/FreeSql.Provider.Odbc.csproj
index 564d7dc1b..21f8241e8 100644
--- a/Providers/FreeSql.Provider.Odbc/FreeSql.Provider.Odbc.csproj
+++ b/Providers/FreeSql.Provider.Odbc/FreeSql.Provider.Odbc.csproj
@@ -18,7 +18,7 @@
true
key.snk
false
- 3.5.200
+ 3.5.201
readme.md
diff --git a/Providers/FreeSql.Provider.Odbc/MySql/OdbcMySqlDbFirst.cs b/Providers/FreeSql.Provider.Odbc/MySql/OdbcMySqlDbFirst.cs
index 2ec4635e3..1993f4283 100644
--- a/Providers/FreeSql.Provider.Odbc/MySql/OdbcMySqlDbFirst.cs
+++ b/Providers/FreeSql.Provider.Odbc/MySql/OdbcMySqlDbFirst.cs
@@ -431,7 +431,7 @@ where {(ignoreCase ? "lower(a.constraint_schema)" : "a.constraint_schema")} in (
bool b2 = loc4.ForeignsDict.Values.Where(fk => fk.Columns.Where(c3 => c3.Name == c2.Name).Any()).Any();
compare = b2.CompareTo(b1);
}
- if (compare == 0) compare = c1.Name.CompareTo(c2.Name);
+ if (compare == 0) compare = c1.Position.CompareTo(c2.Position);
return compare;
});
loc1.Add(loc4);
diff --git a/Providers/FreeSql.Provider.Oracle/FreeSql.Provider.Oracle.csproj b/Providers/FreeSql.Provider.Oracle/FreeSql.Provider.Oracle.csproj
index a2aec3278..b46cdea89 100644
--- a/Providers/FreeSql.Provider.Oracle/FreeSql.Provider.Oracle.csproj
+++ b/Providers/FreeSql.Provider.Oracle/FreeSql.Provider.Oracle.csproj
@@ -18,7 +18,7 @@
true
key.snk
false
- 3.5.200
+ 3.5.201
readme.md
diff --git a/Providers/FreeSql.Provider.OracleOledb/FreeSql.Provider.OracleOledb.csproj b/Providers/FreeSql.Provider.OracleOledb/FreeSql.Provider.OracleOledb.csproj
index 9fbc8ec6b..6e0e4b971 100644
--- a/Providers/FreeSql.Provider.OracleOledb/FreeSql.Provider.OracleOledb.csproj
+++ b/Providers/FreeSql.Provider.OracleOledb/FreeSql.Provider.OracleOledb.csproj
@@ -18,7 +18,7 @@
true
key.snk
false
- 3.5.200
+ 3.5.201
readme.md
diff --git a/Providers/FreeSql.Provider.PostgreSQL/FreeSql.Provider.PostgreSQL.csproj b/Providers/FreeSql.Provider.PostgreSQL/FreeSql.Provider.PostgreSQL.csproj
index 51a143114..6b35de4e6 100644
--- a/Providers/FreeSql.Provider.PostgreSQL/FreeSql.Provider.PostgreSQL.csproj
+++ b/Providers/FreeSql.Provider.PostgreSQL/FreeSql.Provider.PostgreSQL.csproj
@@ -18,7 +18,7 @@
true
key.snk
false
- 3.5.200
+ 3.5.201
readme.md
diff --git a/Providers/FreeSql.Provider.PostgreSQL/PostgreSQLDbFirst.cs b/Providers/FreeSql.Provider.PostgreSQL/PostgreSQLDbFirst.cs
index d2782db9a..ef9c7af0c 100644
--- a/Providers/FreeSql.Provider.PostgreSQL/PostgreSQLDbFirst.cs
+++ b/Providers/FreeSql.Provider.PostgreSQL/PostgreSQLDbFirst.cs
@@ -608,7 +608,7 @@ where {loc8.ToString().Replace("a.table_name", "ns.nspname || '.' || b.relname")
bool b2 = loc4.ForeignsDict.Values.Where(fk => fk.Columns.Where(c3 => c3.Name == c2.Name).Any()).Any();
compare = b2.CompareTo(b1);
}
- if (compare == 0) compare = c1.Name.CompareTo(c2.Name);
+ if (compare == 0) compare = c1.Position.CompareTo(c2.Position);
return compare;
});
loc1.Add(loc4);
diff --git a/Providers/FreeSql.Provider.QuestDb/FreeSql.Provider.QuestDb.csproj b/Providers/FreeSql.Provider.QuestDb/FreeSql.Provider.QuestDb.csproj
index bb7bfc161..b91db26a5 100644
--- a/Providers/FreeSql.Provider.QuestDb/FreeSql.Provider.QuestDb.csproj
+++ b/Providers/FreeSql.Provider.QuestDb/FreeSql.Provider.QuestDb.csproj
@@ -18,7 +18,7 @@
true
key.snk
false
- 3.5.200
+ 3.5.201
readme.md
diff --git a/Providers/FreeSql.Provider.ShenTong/FreeSql.Provider.ShenTong.csproj b/Providers/FreeSql.Provider.ShenTong/FreeSql.Provider.ShenTong.csproj
index 2f5002921..5bb309eb8 100644
--- a/Providers/FreeSql.Provider.ShenTong/FreeSql.Provider.ShenTong.csproj
+++ b/Providers/FreeSql.Provider.ShenTong/FreeSql.Provider.ShenTong.csproj
@@ -15,7 +15,7 @@
$(AssemblyName)
true
true
- 3.5.200
+ 3.5.201
readme.md
diff --git a/Providers/FreeSql.Provider.ShenTong/ShenTongDbFirst.cs b/Providers/FreeSql.Provider.ShenTong/ShenTongDbFirst.cs
index dce793038..3b5b5d3f7 100644
--- a/Providers/FreeSql.Provider.ShenTong/ShenTongDbFirst.cs
+++ b/Providers/FreeSql.Provider.ShenTong/ShenTongDbFirst.cs
@@ -484,7 +484,7 @@ where {loc8.ToString().Replace("a.table_name", "a.pktable_schem || '.' || a.pkta
bool b2 = loc4.ForeignsDict.Values.Where(fk => fk.Columns.Where(c3 => c3.Name == c2.Name).Any()).Any();
compare = b2.CompareTo(b1);
}
- if (compare == 0) compare = c1.Name.CompareTo(c2.Name);
+ if (compare == 0) compare = c1.Position.CompareTo(c2.Position);
return compare;
});
loc1.Add(loc4);
diff --git a/Providers/FreeSql.Provider.SqlServer/FreeSql.Provider.SqlServer.csproj b/Providers/FreeSql.Provider.SqlServer/FreeSql.Provider.SqlServer.csproj
index a464b30fc..13fb69c27 100644
--- a/Providers/FreeSql.Provider.SqlServer/FreeSql.Provider.SqlServer.csproj
+++ b/Providers/FreeSql.Provider.SqlServer/FreeSql.Provider.SqlServer.csproj
@@ -18,7 +18,7 @@
true
false
key.snk
- 3.5.200
+ 3.5.201
readme.md
diff --git a/Providers/FreeSql.Provider.SqlServerForSystem/FreeSql.Provider.SqlServerForSystem.csproj b/Providers/FreeSql.Provider.SqlServerForSystem/FreeSql.Provider.SqlServerForSystem.csproj
index ba72452af..ada44ec8d 100644
--- a/Providers/FreeSql.Provider.SqlServerForSystem/FreeSql.Provider.SqlServerForSystem.csproj
+++ b/Providers/FreeSql.Provider.SqlServerForSystem/FreeSql.Provider.SqlServerForSystem.csproj
@@ -18,7 +18,7 @@
true
key.snk
false
- 3.5.200
+ 3.5.201
readme.md
diff --git a/Providers/FreeSql.Provider.Sqlite/FreeSql.Provider.Sqlite.csproj b/Providers/FreeSql.Provider.Sqlite/FreeSql.Provider.Sqlite.csproj
index 39dd0549b..cfbe352d3 100644
--- a/Providers/FreeSql.Provider.Sqlite/FreeSql.Provider.Sqlite.csproj
+++ b/Providers/FreeSql.Provider.Sqlite/FreeSql.Provider.Sqlite.csproj
@@ -18,7 +18,7 @@
true
key.snk
false
- 3.5.200
+ 3.5.201
readme.md
diff --git a/Providers/FreeSql.Provider.SqliteCore/FreeSql.Provider.SqliteCore.csproj b/Providers/FreeSql.Provider.SqliteCore/FreeSql.Provider.SqliteCore.csproj
index 839e9c8c7..52d145530 100644
--- a/Providers/FreeSql.Provider.SqliteCore/FreeSql.Provider.SqliteCore.csproj
+++ b/Providers/FreeSql.Provider.SqliteCore/FreeSql.Provider.SqliteCore.csproj
@@ -18,7 +18,7 @@
true
key.snk
false
- 3.5.200
+ 3.5.201
readme.md
diff --git a/Providers/FreeSql.Provider.TDengine/FreeSql.Provider.TDengine.csproj b/Providers/FreeSql.Provider.TDengine/FreeSql.Provider.TDengine.csproj
index fed863de5..be9c44d7d 100644
--- a/Providers/FreeSql.Provider.TDengine/FreeSql.Provider.TDengine.csproj
+++ b/Providers/FreeSql.Provider.TDengine/FreeSql.Provider.TDengine.csproj
@@ -18,7 +18,7 @@
true
false
key.snk
- 3.5.200
+ 3.5.201
readme.md
diff --git a/Providers/FreeSql.Provider.Xugu/FreeSql.Provider.Xugu.csproj b/Providers/FreeSql.Provider.Xugu/FreeSql.Provider.Xugu.csproj
index 97c4eae69..f3bc9f8b8 100644
--- a/Providers/FreeSql.Provider.Xugu/FreeSql.Provider.Xugu.csproj
+++ b/Providers/FreeSql.Provider.Xugu/FreeSql.Provider.Xugu.csproj
@@ -15,7 +15,7 @@
$(AssemblyName)
true
true
- 3.5.200
+ 3.5.201
readme.md