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