- 增加 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>
<returns></returns>
</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>
</doc>

View File

@ -14,6 +14,18 @@ namespace FreeSql.Tests
{
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]
public void TestUpdateDyWhere()
{

View File

@ -117,6 +117,18 @@ namespace FreeSql
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
/// <summary>
/// 大于 &gt;

View File

@ -1188,6 +1188,14 @@
<param name="defaultValue"></param>
<returns></returns>
</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)">
<summary>
大于 &gt;