mirror of
				https://github.com/nsnail/FreeSql.git
				synced 2025-11-04 09:15:27 +08:00 
			
		
		
		
	- 增加 SqlExt.DistinctCount 扩展方法;#674 #533
This commit is contained in:
		@@ -512,5 +512,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>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -14,6 +14,18 @@ namespace FreeSql.Tests
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    public class UnitTest5
 | 
					    public class UnitTest5
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
 | 
					        [Fact]
 | 
				
			||||||
 | 
					        public void TestDistinctCount()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            var fsql = g.sqlite;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            var sql = fsql.Select<ts_up_dywhere01>().ToSql(a => SqlExt.DistinctCount(a.status));
 | 
				
			||||||
 | 
					            fsql.Select<ts_up_dywhere01>().Aggregate(a => SqlExt.DistinctCount(a.Key.status), out var count);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            Assert.Equal(@"SELECT count(distinct a.""status"") as1 
 | 
				
			||||||
 | 
					FROM ""ts_up_dywhere01"" a", sql);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        [Fact]
 | 
					        [Fact]
 | 
				
			||||||
        public void TestUpdateDyWhere()
 | 
					        public void TestUpdateDyWhere()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -117,6 +117,18 @@ namespace FreeSql
 | 
				
			|||||||
            return default(TValue);
 | 
					            return default(TValue);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        /// count(distinct name)
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        /// <typeparam name="T"></typeparam>
 | 
				
			||||||
 | 
					        /// <param name="column"></param>
 | 
				
			||||||
 | 
					        /// <returns></returns>
 | 
				
			||||||
 | 
					        public static long DistinctCount<T>(T column)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            expContext.Value.Result = $"count(distinct {expContext.Value.ParsedContent["column"]})";
 | 
				
			||||||
 | 
					            return 0;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #region 大小判断
 | 
					        #region 大小判断
 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
        /// 大于 >
 | 
					        /// 大于 >
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1188,6 +1188,14 @@
 | 
				
			|||||||
            <param name="defaultValue"></param>
 | 
					            <param name="defaultValue"></param>
 | 
				
			||||||
            <returns></returns>
 | 
					            <returns></returns>
 | 
				
			||||||
        </member>
 | 
					        </member>
 | 
				
			||||||
 | 
					        <member name="M:FreeSql.SqlExt.DistinctCount``1(``0)">
 | 
				
			||||||
 | 
					            <summary>
 | 
				
			||||||
 | 
					            count(distinct name)
 | 
				
			||||||
 | 
					            </summary>
 | 
				
			||||||
 | 
					            <typeparam name="T"></typeparam>
 | 
				
			||||||
 | 
					            <param name="column"></param>
 | 
				
			||||||
 | 
					            <returns></returns>
 | 
				
			||||||
 | 
					        </member>
 | 
				
			||||||
        <member name="M:FreeSql.SqlExt.GreaterThan``1(``0,``0)">
 | 
					        <member name="M:FreeSql.SqlExt.GreaterThan``1(``0,``0)">
 | 
				
			||||||
            <summary>
 | 
					            <summary>
 | 
				
			||||||
            大于 >
 | 
					            大于 >
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user