diff --git a/FreeSql.DbContext/FreeSql.DbContext.xml b/FreeSql.DbContext/FreeSql.DbContext.xml
index 9c6cd88b..743835e4 100644
--- a/FreeSql.DbContext/FreeSql.DbContext.xml
+++ b/FreeSql.DbContext/FreeSql.DbContext.xml
@@ -532,5 +532,14 @@
+
+
+ 批量注入 Repository,可以参考代码自行调整
+
+
+
+
+
+
diff --git a/FreeSql.Tests/FreeSql.Tests/UnitTest3.cs b/FreeSql.Tests/FreeSql.Tests/UnitTest3.cs
index dcfab4da..93056dd7 100644
--- a/FreeSql.Tests/FreeSql.Tests/UnitTest3.cs
+++ b/FreeSql.Tests/FreeSql.Tests/UnitTest3.cs
@@ -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()
+ .ToSql(a => new
+ {
+ nvl = SqlExt.IsNull(a.EdiId, 0)
+ });
+
var sqlextGroupConcat = g.mysql.Select()
.InnerJoin((a, b) => b.Id == a.Id)
.ToSql((a, b) => new
diff --git a/FreeSql/Extensions/FreeSqlGlobalExpressionCallExtensions.cs b/FreeSql/Extensions/FreeSqlGlobalExpressionCallExtensions.cs
index a5cecf49..a625db9d 100644
--- a/FreeSql/Extensions/FreeSqlGlobalExpressionCallExtensions.cs
+++ b/FreeSql/Extensions/FreeSqlGlobalExpressionCallExtensions.cs
@@ -104,6 +104,19 @@ namespace FreeSql
public static ISqlOver RowNumber() => Over("row_number()");
#endregion
+ ///
+ /// isnull、ifnull、coalesce、nvl
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static TValue IsNull(TValue value, TValue defaultValue)
+ {
+ expContext.Value.Result = expContext.Value._commonExp._common.IsNull(expContext.Value.ParsedContent["value"], expContext.Value.ParsedContent["defaultValue"]);
+ return default(TValue);
+ }
+
///
/// case when .. then .. end
///
@@ -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"]})";
diff --git a/FreeSql/FreeSql.xml b/FreeSql/FreeSql.xml
index 8af604f0..a550efcb 100644
--- a/FreeSql/FreeSql.xml
+++ b/FreeSql/FreeSql.xml
@@ -1103,6 +1103,15 @@
+
+
+ isnull、ifnull、coalesce、nvl
+
+
+
+
+
+
case when .. then .. end