mirror of
				https://github.com/nsnail/FreeSql.git
				synced 2025-11-04 09:15:27 +08:00 
			
		
		
		
	- 扩展 内部方法 QuoteReadColumn
This commit is contained in:
		@@ -96,7 +96,7 @@ namespace FreeSql.Internal
 | 
			
		||||
                                CsType = map[idx].Column.CsType,
 | 
			
		||||
                                MapType = map[idx].Column.Attribute.MapType
 | 
			
		||||
                            };
 | 
			
		||||
                            field.Append(", ").Append(_common.QuoteReadColumn(child.MapType, child.DbField));
 | 
			
		||||
                            field.Append(", ").Append(_common.QuoteReadColumn(child.CsType, child.MapType, child.DbField));
 | 
			
		||||
                            if (index >= 0) field.Append(_common.FieldAsAlias($"as{++index}"));
 | 
			
		||||
                            parent.Childs.Add(child);
 | 
			
		||||
                        }
 | 
			
		||||
 
 | 
			
		||||
@@ -597,7 +597,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
                            if (tbiindex > 0 && colidx == 0) field.Append("\r\n");
 | 
			
		||||
                        }
 | 
			
		||||
                        var quoteName = _commonUtils.QuoteSqlName(col.Attribute.Name);
 | 
			
		||||
                        field.Append(_commonUtils.QuoteReadColumn(col.Attribute.MapType, $"{tbi.Alias}.{quoteName}"));
 | 
			
		||||
                        field.Append(_commonUtils.QuoteReadColumn(col.CsType, col.Attribute.MapType, $"{tbi.Alias}.{quoteName}"));
 | 
			
		||||
                        ++index;
 | 
			
		||||
                        if (dicfield.ContainsKey(quoteName)) field.Append(_commonUtils.FieldAsAlias($"as{index}"));
 | 
			
		||||
                        else dicfield.Add(quoteName, true);
 | 
			
		||||
@@ -728,7 +728,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
                    { //普通字段
 | 
			
		||||
                        if (index > 0) field.Append(", ");
 | 
			
		||||
                        var quoteName = _commonUtils.QuoteSqlName(col.Attribute.Name);
 | 
			
		||||
                        field.Append(_commonUtils.QuoteReadColumn(col.Attribute.MapType, $"{tb.Alias}.{quoteName}"));
 | 
			
		||||
                        field.Append(_commonUtils.QuoteReadColumn(col.CsType, col.Attribute.MapType, $"{tb.Alias}.{quoteName}"));
 | 
			
		||||
                        ++index;
 | 
			
		||||
                        if (dicfield.ContainsKey(quoteName)) field.Append(_commonUtils.FieldAsAlias($"as{index}"));
 | 
			
		||||
                        else dicfield.Add(quoteName, true);
 | 
			
		||||
@@ -751,7 +751,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
                        {
 | 
			
		||||
                            if (index > 0) field.Append(", ");
 | 
			
		||||
                            var quoteName = _commonUtils.QuoteSqlName(col2.Attribute.Name);
 | 
			
		||||
                            field.Append(_commonUtils.QuoteReadColumn(col2.Attribute.MapType, $"{tb2.Alias}.{quoteName}"));
 | 
			
		||||
                            field.Append(_commonUtils.QuoteReadColumn(col2.CsType, col2.Attribute.MapType, $"{tb2.Alias}.{quoteName}"));
 | 
			
		||||
                            ++index;
 | 
			
		||||
                            ++otherindex;
 | 
			
		||||
                            if (dicfield.ContainsKey(quoteName)) field.Append(_commonUtils.FieldAsAlias($"as{index}"));
 | 
			
		||||
@@ -849,7 +849,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
                { //普通字段
 | 
			
		||||
                    if (index > 0) field.Append(", ");
 | 
			
		||||
                    var quoteName = _commonUtils.QuoteSqlName(col.Attribute.Name);
 | 
			
		||||
                    field.Append(_commonUtils.QuoteReadColumn(col.Attribute.MapType, $"{tb.Alias}.{quoteName}"));
 | 
			
		||||
                    field.Append(_commonUtils.QuoteReadColumn(col.CsType, col.Attribute.MapType, $"{tb.Alias}.{quoteName}"));
 | 
			
		||||
                    ++index;
 | 
			
		||||
                    if (dicfield.ContainsKey(quoteName)) field.Append(_commonUtils.FieldAsAlias($"as{index}"));
 | 
			
		||||
                    else dicfield.Add(quoteName, true);
 | 
			
		||||
@@ -866,7 +866,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
                    {
 | 
			
		||||
                        if (index > 0) field.Append(", ");
 | 
			
		||||
                        var quoteName = _commonUtils.QuoteSqlName(col2.Attribute.Name);
 | 
			
		||||
                        field.Append(_commonUtils.QuoteReadColumn(col2.Attribute.MapType, $"{tb2.Alias}.{quoteName}"));
 | 
			
		||||
                        field.Append(_commonUtils.QuoteReadColumn(col2.CsType, col2.Attribute.MapType, $"{tb2.Alias}.{quoteName}"));
 | 
			
		||||
                        ++index;
 | 
			
		||||
                        if (dicfield.ContainsKey(quoteName)) field.Append(_commonUtils.FieldAsAlias($"as{index}"));
 | 
			
		||||
                        else dicfield.Add(quoteName, true);
 | 
			
		||||
 
 | 
			
		||||
@@ -910,7 +910,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
                                        Property = tbrefMid.Properties[col.CsName]
 | 
			
		||||
                                    };
 | 
			
		||||
                                    read.Childs.Add(child);
 | 
			
		||||
                                    field.Append(", ").Append(_commonUtils.QuoteReadColumn(child.MapType, child.DbField));
 | 
			
		||||
                                    field.Append(", ").Append(_commonUtils.QuoteReadColumn(child.CsType, child.MapType, child.DbField));
 | 
			
		||||
                                }
 | 
			
		||||
                                otherData = (field.ToString(), read);
 | 
			
		||||
                            }
 | 
			
		||||
 
 | 
			
		||||
@@ -37,7 +37,7 @@ namespace FreeSql.Internal
 | 
			
		||||
        public abstract string Now { get; }
 | 
			
		||||
        public abstract string NowUtc { get; }
 | 
			
		||||
        public abstract string QuoteWriteParamter(Type type, string paramterName);
 | 
			
		||||
        public abstract string QuoteReadColumn(Type type, string columnName);
 | 
			
		||||
        public abstract string QuoteReadColumn(Type type, Type mapType, string columnName);
 | 
			
		||||
        public virtual string FieldAsAlias(string alias) => $" {alias}";
 | 
			
		||||
        public virtual string IIF(string test, string ifTrue, string ifElse) => $"case when {test} then {ifTrue} else {ifElse} end";
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user