Class MultiInsertExtensions
Inheritance
Namespace: LinqToDB
Assembly: linq2db.dll
Syntax
public static class MultiInsertExtensions : object
Methods
| Improve this Doc View SourceElse<TSource, TTarget>(MultiInsertExtensions.IMultiInsertWhen<TSource>, ITable<TTarget>, Expression<Func<TSource, TTarget>>)
Insert into target table when previous conditions don't match.
Declaration
public static MultiInsertExtensions.IMultiInsertElse<TSource> Else<TSource, TTarget>(this MultiInsertExtensions.IMultiInsertWhen<TSource> source, ITable<TTarget> target, Expression<Func<TSource, TTarget>> setter)
Parameters
Type | Name | Description |
---|---|---|
MultiInsertExtensions.IMultiInsertWhen<TSource> | source | Source query, that returns data for insert operation. |
ITable<TTarget> | target | Target table to insert into. |
Expression<Func<TSource, TTarget>> | setter | Update expression. Uses record from source query as parameter. Expression supports only target table record new expression with field initializers. |
Returns
Type | Description |
---|---|
MultiInsertExtensions.IMultiInsertElse<TSource> |
Type Parameters
Name | Description |
---|---|
TSource | Source query record type. |
TTarget | Target table record type. |
Insert<TSource>(MultiInsertExtensions.IMultiInsertInto<TSource>)
Inserts source data into every configured table.
Declaration
public static int Insert<TSource>(this MultiInsertExtensions.IMultiInsertInto<TSource> insert)
Parameters
Type | Name | Description |
---|---|---|
MultiInsertExtensions.IMultiInsertInto<TSource> | insert | Multi-table insert to perform. |
Returns
Type | Description |
---|---|
System.Int32 | Number of inserted rows. |
Type Parameters
Name | Description |
---|---|
TSource | Source query record type. |
InsertAll<TSource>(MultiInsertExtensions.IMultiInsertElse<TSource>)
Inserts source data into every matching condition.
Declaration
public static int InsertAll<TSource>(this MultiInsertExtensions.IMultiInsertElse<TSource> insert)
Parameters
Type | Name | Description |
---|---|---|
MultiInsertExtensions.IMultiInsertElse<TSource> | insert | Multi-table insert to perform. |
Returns
Type | Description |
---|---|
System.Int32 | Number of inserted rows. |
Type Parameters
Name | Description |
---|---|
TSource | Source query record type. |
InsertAllAsync<TSource>(MultiInsertExtensions.IMultiInsertElse<TSource>, CancellationToken)
Asynchronously inserts source data into every matching condition.
Declaration
public static Task<int> InsertAllAsync<TSource>(this MultiInsertExtensions.IMultiInsertElse<TSource> insert, CancellationToken token = null)
Parameters
Type | Name | Description |
---|---|---|
MultiInsertExtensions.IMultiInsertElse<TSource> | insert | Multi-table insert to perform. |
CancellationToken | token | Cancellation token for async operation. |
Returns
Type | Description |
---|---|
Task<System.Int32> | Number of inserted rows. |
Type Parameters
Name | Description |
---|---|
TSource | Source query record type. |
InsertAsync<TSource>(MultiInsertExtensions.IMultiInsertInto<TSource>, CancellationToken)
Asynchronously inserts source data into every configured table.
Declaration
public static Task<int> InsertAsync<TSource>(this MultiInsertExtensions.IMultiInsertInto<TSource> insert, CancellationToken token = null)
Parameters
Type | Name | Description |
---|---|---|
MultiInsertExtensions.IMultiInsertInto<TSource> | insert | Multi-table insert to perform. |
CancellationToken | token | Cancellation token for async operation. |
Returns
Type | Description |
---|---|
Task<System.Int32> | Number of inserted rows. |
Type Parameters
Name | Description |
---|---|
TSource | Source query record type. |
InsertFirst<TSource>(MultiInsertExtensions.IMultiInsertElse<TSource>)
Inserts source data into the first matching condition.
Declaration
public static int InsertFirst<TSource>(this MultiInsertExtensions.IMultiInsertElse<TSource> insert)
Parameters
Type | Name | Description |
---|---|---|
MultiInsertExtensions.IMultiInsertElse<TSource> | insert | Multi-table insert to perform. |
Returns
Type | Description |
---|---|
System.Int32 | Number of inserted rows. |
Type Parameters
Name | Description |
---|---|
TSource | Source query record type. |
InsertFirstAsync<TSource>(MultiInsertExtensions.IMultiInsertElse<TSource>, CancellationToken)
Asynchronously inserts source data into the first matching condition.
Declaration
public static Task<int> InsertFirstAsync<TSource>(this MultiInsertExtensions.IMultiInsertElse<TSource> insert, CancellationToken token = null)
Parameters
Type | Name | Description |
---|---|---|
MultiInsertExtensions.IMultiInsertElse<TSource> | insert | Multi-table insert to perform. |
CancellationToken | token | Cancellation token for async operation. |
Returns
Type | Description |
---|---|
Task<System.Int32> | Number of inserted rows. |
Type Parameters
Name | Description |
---|---|
TSource | Source query record type. |
Into<TSource, TTarget>(MultiInsertExtensions.IMultiInsertInto<TSource>, ITable<TTarget>, Expression<Func<TSource, TTarget>>)
Unconditionally insert into target table.
Declaration
public static MultiInsertExtensions.IMultiInsertInto<TSource> Into<TSource, TTarget>(this MultiInsertExtensions.IMultiInsertInto<TSource> source, ITable<TTarget> target, Expression<Func<TSource, TTarget>> setter)
Parameters
Type | Name | Description |
---|---|---|
MultiInsertExtensions.IMultiInsertInto<TSource> | source | Source query, that returns data for insert operation. |
ITable<TTarget> | target | Target table to insert into. |
Expression<Func<TSource, TTarget>> | setter | Update expression. Uses record from source query as parameter. Expression supports only target table record new expression with field initializers. |
Returns
Type | Description |
---|---|
MultiInsertExtensions.IMultiInsertInto<TSource> |
Type Parameters
Name | Description |
---|---|
TSource | Source query record type. |
TTarget | Target table record type. |
MultiInsert<TSource>(IQueryable<TSource>)
Inserts records from source query into multiple target tables.
Declaration
public static MultiInsertExtensions.IMultiInsertSource<TSource> MultiInsert<TSource>(this IQueryable<TSource> source)
Parameters
Type | Name | Description |
---|---|---|
IQueryable<TSource> | source | Source query, that returns data for insert operation. |
Returns
Type | Description |
---|---|
MultiInsertExtensions.IMultiInsertSource<TSource> |
Type Parameters
Name | Description |
---|---|
TSource | Source query record type. |
Remarks
Only supported by Oracle data provider.
When<TSource, TTarget>(MultiInsertExtensions.IMultiInsertWhen<TSource>, Expression<Func<TSource, Boolean>>, ITable<TTarget>, Expression<Func<TSource, TTarget>>)
Conditionally insert into target table.
Declaration
public static MultiInsertExtensions.IMultiInsertWhen<TSource> When<TSource, TTarget>(this MultiInsertExtensions.IMultiInsertWhen<TSource> source, Expression<Func<TSource, bool>> condition, ITable<TTarget> target, Expression<Func<TSource, TTarget>> setter)
Parameters
Type | Name | Description |
---|---|---|
MultiInsertExtensions.IMultiInsertWhen<TSource> | source | Source query, that returns data for insert operation. |
Expression<Func<TSource, System.Boolean>> | condition | Predicate indicating when to insert into target table. |
ITable<TTarget> | target | Target table to insert into. |
Expression<Func<TSource, TTarget>> | setter | Update expression. Uses record from source query as parameter. Expression supports only target table record new expression with field initializers. |
Returns
Type | Description |
---|---|
MultiInsertExtensions.IMultiInsertWhen<TSource> |
Type Parameters
Name | Description |
---|---|
TSource | Source query record type. |
TTarget | Target table record type. |