mirror of
				https://github.com/nsnail/FreeSql.git
				synced 2025-11-04 17:20:49 +08:00 
			
		
		
		
	- 修复 RereadSql 嵌套查询无别名的问题;
This commit is contained in:
		@@ -446,10 +446,16 @@ namespace FreeSql.Internal.CommonProvider
 | 
				
			|||||||
                            if (tbiindex > 0 && colidx == 0) field.Append("\r\n");
 | 
					                            if (tbiindex > 0 && colidx == 0) field.Append("\r\n");
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
                        var quoteName = _commonUtils.QuoteSqlName(col.Attribute.Name);
 | 
					                        var quoteName = _commonUtils.QuoteSqlName(col.Attribute.Name);
 | 
				
			||||||
                        field.Append(_commonUtils.RereadColumn(col, $"{tbi.Alias}.{quoteName}"));
 | 
					                        var columnSql = $"{tbi.Alias}.{quoteName}";
 | 
				
			||||||
 | 
					                        var rereadSql = _commonUtils.RereadColumn(col, columnSql);
 | 
				
			||||||
 | 
					                        field.Append(rereadSql);
 | 
				
			||||||
                        ++index;
 | 
					                        ++index;
 | 
				
			||||||
                        if (dicfield.ContainsKey(quoteName)) field.Append(_commonUtils.FieldAsAlias($"as{index}"));
 | 
					                        if (dicfield.ContainsKey(quoteName)) field.Append(_commonUtils.FieldAsAlias($"as{index}"));
 | 
				
			||||||
                        else dicfield.Add(quoteName, true);
 | 
					                        else
 | 
				
			||||||
 | 
					                        {
 | 
				
			||||||
 | 
					                            dicfield.Add(quoteName, true);
 | 
				
			||||||
 | 
					                            if (rereadSql != columnSql) field.Append(_commonUtils.FieldAsAlias(quoteName));
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
                        ++colidx;
 | 
					                        ++colidx;
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                    tbiindex++;
 | 
					                    tbiindex++;
 | 
				
			||||||
@@ -603,11 +609,16 @@ namespace FreeSql.Internal.CommonProvider
 | 
				
			|||||||
                    { //普通字段
 | 
					                    { //普通字段
 | 
				
			||||||
                        if (index > 0) field.Append(", ");
 | 
					                        if (index > 0) field.Append(", ");
 | 
				
			||||||
                        var quoteName = _commonUtils.QuoteSqlName(col.Attribute.Name);
 | 
					                        var quoteName = _commonUtils.QuoteSqlName(col.Attribute.Name);
 | 
				
			||||||
                        if (isRereadSql) field.Append(_commonUtils.RereadColumn(col, $"{tb.Alias}.{quoteName}"));
 | 
					                        var columnSql = $"{tb.Alias}.{quoteName}";
 | 
				
			||||||
                        else field.Append($"{tb.Alias}.{quoteName}");
 | 
					                        var rereadSql = isRereadSql ? _commonUtils.RereadColumn(col, columnSql) : columnSql;
 | 
				
			||||||
 | 
					                        field.Append(rereadSql);
 | 
				
			||||||
                        ++index;
 | 
					                        ++index;
 | 
				
			||||||
                        if (dicfield.ContainsKey(quoteName)) field.Append(_commonUtils.FieldAsAlias($"as{index}"));
 | 
					                        if (dicfield.ContainsKey(quoteName)) field.Append(_commonUtils.FieldAsAlias($"as{index}"));
 | 
				
			||||||
                        else dicfield.Add(quoteName, true);
 | 
					                        else
 | 
				
			||||||
 | 
					                        {
 | 
				
			||||||
 | 
					                            dicfield.Add(quoteName, true);
 | 
				
			||||||
 | 
					                            if (rereadSql != columnSql) field.Append(_commonUtils.FieldAsAlias(quoteName));
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                    else
 | 
					                    else
 | 
				
			||||||
                    {
 | 
					                    {
 | 
				
			||||||
@@ -627,12 +638,17 @@ namespace FreeSql.Internal.CommonProvider
 | 
				
			|||||||
                        {
 | 
					                        {
 | 
				
			||||||
                            if (index > 0) field.Append(", ");
 | 
					                            if (index > 0) field.Append(", ");
 | 
				
			||||||
                            var quoteName = _commonUtils.QuoteSqlName(col2.Attribute.Name);
 | 
					                            var quoteName = _commonUtils.QuoteSqlName(col2.Attribute.Name);
 | 
				
			||||||
                            if (isRereadSql) field.Append(_commonUtils.RereadColumn(col2, $"{tb2.Alias}.{quoteName}"));
 | 
					                            var columnSql = $"{tb2.Alias}.{quoteName}";
 | 
				
			||||||
                            else field.Append($"{tb2.Alias}.{quoteName}");
 | 
					                            var rereadSql = isRereadSql ? _commonUtils.RereadColumn(col2, columnSql) : columnSql;
 | 
				
			||||||
 | 
					                            field.Append(rereadSql);
 | 
				
			||||||
                            ++index;
 | 
					                            ++index;
 | 
				
			||||||
                            ++otherindex;
 | 
					                            ++otherindex;
 | 
				
			||||||
                            if (dicfield.ContainsKey(quoteName)) field.Append(_commonUtils.FieldAsAlias($"as{index}"));
 | 
					                            if (dicfield.ContainsKey(quoteName)) field.Append(_commonUtils.FieldAsAlias($"as{index}"));
 | 
				
			||||||
                            else dicfield.Add(quoteName, true);
 | 
					                            else
 | 
				
			||||||
 | 
					                            {
 | 
				
			||||||
 | 
					                                dicfield.Add(quoteName, true);
 | 
				
			||||||
 | 
					                                if (rereadSql != columnSql) field.Append(_commonUtils.FieldAsAlias(quoteName));
 | 
				
			||||||
 | 
					                            }
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                    //只读到二级属性
 | 
					                    //只读到二级属性
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user