- 增加 SqlExt.DistinctCount 扩展方法;#674 #533

This commit is contained in:
2881099 2021-01-31 01:01:33 +08:00
parent b311e8d375
commit c39d449054
4 changed files with 41 additions and 0 deletions

View File

@ -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>

View File

@ -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()
{ {

View File

@ -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>
/// 大于 &gt; /// 大于 &gt;

View File

@ -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>
大于 &gt; 大于 &gt;