mirror of
				https://github.com/nsnail/FreeSql.git
				synced 2025-11-04 09:15:27 +08:00 
			
		
		
		
	- 增加 SqlExt.IsNull 方法;
This commit is contained in:
		@@ -532,5 +532,14 @@
 | 
				
			|||||||
            <param name="that"></param>
 | 
					            <param name="that"></param>
 | 
				
			||||||
            <returns></returns>
 | 
					            <returns></returns>
 | 
				
			||||||
        </member>
 | 
					        </member>
 | 
				
			||||||
 | 
					        <member name="M:Microsoft.Extensions.DependencyInjection.FreeSqlRepositoryDependencyInjection.AddFreeRepository(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{FreeSql.FluentDataFilter},System.Reflection.Assembly[])">
 | 
				
			||||||
 | 
					            <summary>
 | 
				
			||||||
 | 
					            批量注入 Repository,可以参考代码自行调整
 | 
				
			||||||
 | 
					            </summary>
 | 
				
			||||||
 | 
					            <param name="services"></param>
 | 
				
			||||||
 | 
					            <param name="globalDataFilter"></param>
 | 
				
			||||||
 | 
					            <param name="assemblies"></param>
 | 
				
			||||||
 | 
					            <returns></returns>
 | 
				
			||||||
 | 
					        </member>
 | 
				
			||||||
    </members>
 | 
					    </members>
 | 
				
			||||||
</doc>
 | 
					</doc>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -233,6 +233,12 @@ namespace FreeSql.Tests
 | 
				
			|||||||
                    EdiId2 = SqlExt.Max(a.Key).Over().PartitionBy(a.Value.EdiId).OrderByDescending(a.Value.Id).ToValue(),
 | 
					                    EdiId2 = SqlExt.Max(a.Key).Over().PartitionBy(a.Value.EdiId).OrderByDescending(a.Value.Id).ToValue(),
 | 
				
			||||||
                });
 | 
					                });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            var sqlextIsNull = g.sqlserver.Select<EdiItem>()
 | 
				
			||||||
 | 
					                .ToSql(a => new
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    nvl = SqlExt.IsNull(a.EdiId, 0)
 | 
				
			||||||
 | 
					                });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            var sqlextGroupConcat = g.mysql.Select<Edi, EdiItem>()
 | 
					            var sqlextGroupConcat = g.mysql.Select<Edi, EdiItem>()
 | 
				
			||||||
                .InnerJoin((a, b) => b.Id == a.Id)
 | 
					                .InnerJoin((a, b) => b.Id == a.Id)
 | 
				
			||||||
                .ToSql((a, b) => new
 | 
					                .ToSql((a, b) => new
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -104,6 +104,19 @@ namespace FreeSql
 | 
				
			|||||||
        public static ISqlOver<long> RowNumber() => Over<long>("row_number()");
 | 
					        public static ISqlOver<long> RowNumber() => Over<long>("row_number()");
 | 
				
			||||||
        #endregion
 | 
					        #endregion
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        /// isnull、ifnull、coalesce、nvl
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        /// <typeparam name="TValue"></typeparam>
 | 
				
			||||||
 | 
					        /// <param name="value"></param>
 | 
				
			||||||
 | 
					        /// <param name="defaultValue"></param>
 | 
				
			||||||
 | 
					        /// <returns></returns>
 | 
				
			||||||
 | 
					        public static TValue IsNull<TValue>(TValue value, TValue defaultValue)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            expContext.Value.Result = expContext.Value._commonExp._common.IsNull(expContext.Value.ParsedContent["value"], expContext.Value.ParsedContent["defaultValue"]);
 | 
				
			||||||
 | 
					            return default(TValue);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
        /// case when .. then .. end
 | 
					        /// case when .. then .. end
 | 
				
			||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
@@ -311,7 +324,7 @@ namespace FreeSql
 | 
				
			|||||||
        public interface IGroupConcat { }
 | 
					        public interface IGroupConcat { }
 | 
				
			||||||
        #endregion
 | 
					        #endregion
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #region string.Join 反射处理,此块代卖用于反射,所以别修改定义
 | 
					        #region string.Join 反射处理,此块代码用于反射,所以别修改定义
 | 
				
			||||||
        public static string StringJoinSqliteGroupConcat(object column, object delimiter)
 | 
					        public static string StringJoinSqliteGroupConcat(object column, object delimiter)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            expContext.Result = $"group_concat({expContext.ParsedContent["column"]},{expContext.ParsedContent["delimiter"]})";
 | 
					            expContext.Result = $"group_concat({expContext.ParsedContent["column"]},{expContext.ParsedContent["delimiter"]})";
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1103,6 +1103,15 @@
 | 
				
			|||||||
            </summary>
 | 
					            </summary>
 | 
				
			||||||
            <returns></returns>
 | 
					            <returns></returns>
 | 
				
			||||||
        </member>
 | 
					        </member>
 | 
				
			||||||
 | 
					        <member name="M:FreeSql.SqlExt.IsNull``1(``0,``0)">
 | 
				
			||||||
 | 
					            <summary>
 | 
				
			||||||
 | 
					            isnull、ifnull、coalesce、nvl
 | 
				
			||||||
 | 
					            </summary>
 | 
				
			||||||
 | 
					            <typeparam name="TValue"></typeparam>
 | 
				
			||||||
 | 
					            <param name="value"></param>
 | 
				
			||||||
 | 
					            <param name="defaultValue"></param>
 | 
				
			||||||
 | 
					            <returns></returns>
 | 
				
			||||||
 | 
					        </member>
 | 
				
			||||||
        <member name="M:FreeSql.SqlExt.Case">
 | 
					        <member name="M:FreeSql.SqlExt.Case">
 | 
				
			||||||
            <summary>
 | 
					            <summary>
 | 
				
			||||||
            case when .. then .. end
 | 
					            case when .. then .. end
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user