mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-04-22 18:52:50 +08:00
- 增加 SqlExt.IsNull 方法;
This commit is contained in:
parent
24e0fcd0af
commit
8200b0e2e0
@ -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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user