Skip to content
This repository was archived by the owner on Dec 24, 2022. It is now read-only.

Commit 1a5588c

Browse files
committed
Add new dialect spread APIs
1 parent 4876a54 commit 1a5588c

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

src/ServiceStack.OrmLite/OrmLiteDialectProviderExtensions.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,5 +121,9 @@ public static void InitDbParam(this IOrmLiteDialectProvider dialect, IDbDataPara
121121
converter.InitDbParam(dbParam, columnType);
122122
dbParam.Value = converter.ToDbValue(columnType, value);
123123
}
124+
125+
public static string SqlSpread<T>(this IOrmLiteDialectProvider dialect, params T[] values) =>
126+
OrmLiteUtils.SqlJoin(values, dialect);
127+
124128
}
125129
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
using NUnit.Framework;
2+
3+
namespace ServiceStack.OrmLite.Tests
4+
{
5+
[TestFixtureOrmLite]
6+
public class SqlDialectTests : OrmLiteProvidersTestBase
7+
{
8+
public SqlDialectTests(DialectContext context) : base(context) { }
9+
10+
[Test]
11+
public void Does_spread_values()
12+
{
13+
using var db = OpenDbConnection();
14+
var dialect = db.GetDialectProvider();
15+
Assert.That(dialect.SqlSpread((int[])null), Is.EqualTo(""));
16+
Assert.That(dialect.SqlSpread((string[])null), Is.EqualTo(""));
17+
Assert.That(dialect.SqlSpread(new int[0]), Is.EqualTo(""));
18+
Assert.That(dialect.SqlSpread(new string[0]), Is.EqualTo(""));
19+
Assert.That(dialect.SqlSpread(1, 2, 3), Is.EqualTo("1,2,3"));
20+
Assert.That(dialect.SqlSpread("A", "B", "C"), Is.EqualTo("'A','B','C'"));
21+
Assert.That(dialect.SqlSpread("A'B", "C\"D"), Is.EqualTo("'A''B','C\"D'"));
22+
}
23+
}
24+
}

0 commit comments

Comments
 (0)