- 增加 SqlExt.IsNull 方法;

This commit is contained in:
28810 2020-09-06 00:52:39 +08:00
parent 24e0fcd0af
commit 8200b0e2e0
4 changed files with 38 additions and 1 deletions

View File

@ -532,5 +532,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

@ -233,6 +233,12 @@ namespace FreeSql.Tests
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>()
.InnerJoin((a, b) => b.Id == a.Id)
.ToSql((a, b) => new

View File

@ -104,6 +104,19 @@ namespace FreeSql
public static ISqlOver<long> RowNumber() => Over<long>("row_number()");
#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>
/// case when .. then .. end
/// </summary>
@ -311,7 +324,7 @@ namespace FreeSql
public interface IGroupConcat { }
#endregion
#region string.Join
#region string.Join
public static string StringJoinSqliteGroupConcat(object column, object delimiter)
{
expContext.Result = $"group_concat({expContext.ParsedContent["column"]},{expContext.ParsedContent["delimiter"]})";

View File

@ -1103,6 +1103,15 @@
</summary>
<returns></returns>
</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">
<summary>
case when .. then .. end