Skip to content

Commit af22c04

Browse files
insert from query
1 parent 65be7b2 commit af22c04

2 files changed

Lines changed: 22 additions & 0 deletions

File tree

SqlKata.Execution/Query.Extensions.Async.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,17 @@ public static async Task<int> InsertAsync(this Query query, IReadOnlyDictionary<
142142
return await xQuery.Connection.ExecuteAsync(compiled.Sql, compiled.Bindings);
143143
}
144144

145+
public static async Task<int> InsertAsync(this Query query, IEnumerable<string> columns, Query fromQuery)
146+
{
147+
148+
var xQuery = QueryHelper.CastToXQuery(query, nameof(InsertAsync));
149+
150+
var compiled = xQuery.Compiler.Compile(query.AsInsert(columns, fromQuery));
151+
152+
return await xQuery.Connection.ExecuteAsync(compiled.Sql, compiled.Bindings);
153+
154+
}
155+
145156
public static async Task<int> UpdateAsync(this Query query, IReadOnlyDictionary<string, object> values)
146157
{
147158
var xQuery = QueryHelper.CastToXQuery(query, nameof(UpdateAsync));

SqlKata.Execution/Query.Extensions.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,17 @@ public static int Insert(this Query query, IReadOnlyDictionary<string, object> v
143143

144144
}
145145

146+
public static int Insert(this Query query, IEnumerable<string> columns, Query fromQuery)
147+
{
148+
149+
var xQuery = QueryHelper.CastToXQuery(query, nameof(Insert));
150+
151+
var compiled = xQuery.Compiler.Compile(query.AsInsert(columns, fromQuery));
152+
153+
return xQuery.Connection.Execute(compiled.Sql, compiled.Bindings);
154+
155+
}
156+
146157
public static int Update(this Query query, IReadOnlyDictionary<string, object> values)
147158
{
148159
var xQuery = QueryHelper.CastToXQuery(query, nameof(Update));

0 commit comments

Comments
 (0)