diff --git a/Providers/FreeSql.Provider.Custom/Oracle/Curd/CustomOracleSelect.cs b/Providers/FreeSql.Provider.Custom/Oracle/Curd/CustomOracleSelect.cs index ad62bf0d..7a8086e1 100644 --- a/Providers/FreeSql.Provider.Custom/Oracle/Curd/CustomOracleSelect.cs +++ b/Providers/FreeSql.Provider.Custom/Oracle/Curd/CustomOracleSelect.cs @@ -57,8 +57,8 @@ namespace FreeSql.Custom.Oracle if (string.IsNullOrEmpty(tbsfrom[b].NavigateCondition) && string.IsNullOrEmpty(tbsfrom[b].On) && string.IsNullOrEmpty(tbsfrom[b].Cascade) && - string.IsNullOrEmpty(tbsfrom[b].CascadeBefore)) sb.Append(" ON 1 = 1"); - else sb.Append(" ON ").Append(string.Join(" AND ", new[] + string.IsNullOrEmpty(tbsfrom[b].CascadeBefore)) sbunion.Append(" ON 1 = 1"); + else sbunion.Append(" ON ").Append(string.Join(" AND ", new[] { tbsfrom[b].CascadeBefore, tbsfrom[b].NavigateCondition ?? tbsfrom[b].On, diff --git a/Providers/FreeSql.Provider.Dameng/Curd/DamengSelect.cs b/Providers/FreeSql.Provider.Dameng/Curd/DamengSelect.cs index 443400bc..89536822 100644 --- a/Providers/FreeSql.Provider.Dameng/Curd/DamengSelect.cs +++ b/Providers/FreeSql.Provider.Dameng/Curd/DamengSelect.cs @@ -56,8 +56,8 @@ namespace FreeSql.Dameng.Curd if (string.IsNullOrEmpty(tbsfrom[b].NavigateCondition) && string.IsNullOrEmpty(tbsfrom[b].On) && string.IsNullOrEmpty(tbsfrom[b].Cascade) && - string.IsNullOrEmpty(tbsfrom[b].CascadeBefore)) sb.Append(" ON 1 = 1"); - else sb.Append(" ON ").Append(string.Join(" AND ", new[] + string.IsNullOrEmpty(tbsfrom[b].CascadeBefore)) sbunion.Append(" ON 1 = 1"); + else sbunion.Append(" ON ").Append(string.Join(" AND ", new[] { tbsfrom[b].CascadeBefore, tbsfrom[b].NavigateCondition ?? tbsfrom[b].On, diff --git a/Providers/FreeSql.Provider.Odbc/Dameng/Curd/OdbcDamengSelect.cs b/Providers/FreeSql.Provider.Odbc/Dameng/Curd/OdbcDamengSelect.cs index 81d4ab32..1dc9c3a0 100644 --- a/Providers/FreeSql.Provider.Odbc/Dameng/Curd/OdbcDamengSelect.cs +++ b/Providers/FreeSql.Provider.Odbc/Dameng/Curd/OdbcDamengSelect.cs @@ -56,8 +56,8 @@ namespace FreeSql.Odbc.Dameng if (string.IsNullOrEmpty(tbsfrom[b].NavigateCondition) && string.IsNullOrEmpty(tbsfrom[b].On) && string.IsNullOrEmpty(tbsfrom[b].Cascade) && - string.IsNullOrEmpty(tbsfrom[b].CascadeBefore)) sb.Append(" ON 1 = 1"); - else sb.Append(" ON ").Append(string.Join(" AND ", new[] + string.IsNullOrEmpty(tbsfrom[b].CascadeBefore)) sbunion.Append(" ON 1 = 1"); + else sbunion.Append(" ON ").Append(string.Join(" AND ", new[] { tbsfrom[b].CascadeBefore, tbsfrom[b].NavigateCondition ?? tbsfrom[b].On, diff --git a/Providers/FreeSql.Provider.Odbc/Oracle/Curd/OdbcOracleSelect.cs b/Providers/FreeSql.Provider.Odbc/Oracle/Curd/OdbcOracleSelect.cs index f1c46abd..3a876c73 100644 --- a/Providers/FreeSql.Provider.Odbc/Oracle/Curd/OdbcOracleSelect.cs +++ b/Providers/FreeSql.Provider.Odbc/Oracle/Curd/OdbcOracleSelect.cs @@ -56,8 +56,8 @@ namespace FreeSql.Odbc.Oracle if (string.IsNullOrEmpty(tbsfrom[b].NavigateCondition) && string.IsNullOrEmpty(tbsfrom[b].On) && string.IsNullOrEmpty(tbsfrom[b].Cascade) && - string.IsNullOrEmpty(tbsfrom[b].CascadeBefore)) sb.Append(" ON 1 = 1"); - else sb.Append(" ON ").Append(string.Join(" AND ", new[] + string.IsNullOrEmpty(tbsfrom[b].CascadeBefore)) sbunion.Append(" ON 1 = 1"); + else sbunion.Append(" ON ").Append(string.Join(" AND ", new[] { tbsfrom[b].CascadeBefore, tbsfrom[b].NavigateCondition ?? tbsfrom[b].On, diff --git a/Providers/FreeSql.Provider.Oracle/Curd/OracleSelect.cs b/Providers/FreeSql.Provider.Oracle/Curd/OracleSelect.cs index dc3eea2a..c1de966a 100644 --- a/Providers/FreeSql.Provider.Oracle/Curd/OracleSelect.cs +++ b/Providers/FreeSql.Provider.Oracle/Curd/OracleSelect.cs @@ -57,8 +57,8 @@ namespace FreeSql.Oracle.Curd if (string.IsNullOrEmpty(tbsfrom[b].NavigateCondition) && string.IsNullOrEmpty(tbsfrom[b].On) && string.IsNullOrEmpty(tbsfrom[b].Cascade) && - string.IsNullOrEmpty(tbsfrom[b].CascadeBefore)) sb.Append(" ON 1 = 1"); - else sb.Append(" ON ").Append(string.Join(" AND ", new[] + string.IsNullOrEmpty(tbsfrom[b].CascadeBefore)) sbunion.Append(" ON 1 = 1"); + else sbunion.Append(" ON ").Append(string.Join(" AND ", new[] { tbsfrom[b].CascadeBefore, tbsfrom[b].NavigateCondition ?? tbsfrom[b].On,