Search Results for

    Show / Hide Table of Contents
    View Source

    Class NPocoDatabaseExtensions

    Provides extension methods to NPoco Database class.

    Inheritance
    System.Object
    Namespace: Umbraco.Core.Persistence
    Assembly: Umbraco.Core.dll
    Syntax
    public static class NPocoDatabaseExtensions

    Methods

    View Source

    BulkInsertRecords<T>(IUmbracoDatabase, IEnumerable<T>, Boolean)

    Bulk-inserts records.

    Declaration
    public static int BulkInsertRecords<T>(this IUmbracoDatabase database, IEnumerable<T> records, bool useNativeBulkInsert = true)
    Parameters
    Type Name Description
    IUmbracoDatabase database

    The database.

    System.Collections.Generic.IEnumerable<T> records

    The records.

    System.Boolean useNativeBulkInsert

    Whether to use native bulk insert when available.

    Returns
    Type Description
    System.Int32

    The number of records that were inserted.

    Type Parameters
    Name Description
    T

    The type of the records.

    View Source

    BulkInsertRecordsWithTransaction<T>(IUmbracoDatabase, IEnumerable<T>, Boolean)

    Bulk-inserts records within a transaction.

    Declaration
    public static void BulkInsertRecordsWithTransaction<T>(this IUmbracoDatabase database, IEnumerable<T> records, bool useNativeBulkInsert = true)
    Parameters
    Type Name Description
    IUmbracoDatabase database

    The database.

    System.Collections.Generic.IEnumerable<T> records

    The records.

    System.Boolean useNativeBulkInsert

    Whether to use native bulk insert when available.

    Type Parameters
    Name Description
    T

    The type of the records.

    View Source

    ConfigureNPocoBulkExtensions()

    Configures NPoco's SqlBulkCopyHelper to use the correct SqlConnection and SqlTransaction instances from the underlying RetryDbConnection and ProfiledDbTransaction

    Declaration
    public static void ConfigureNPocoBulkExtensions()
    Remarks

    This is required to use NPoco's own method because we use wrapped DbConnection and DbTransaction instances. NPoco's InsertBulk method only caters for efficient bulk inserting records for Sql Server, it does not cater for bulk inserting of records for any other database type and in which case will just insert records one at a time. NPoco's InsertBulk method also deals with updating the passed in entity's PK/ID once it's inserted whereas our own BulkInsertRecords methods do not handle this scenario.

    View Source

    EscapeAtSymbols(String)

    This will escape single @ symbols for npoco values so it doesn't think it's a parameter

    Declaration
    public static string EscapeAtSymbols(string value)
    Parameters
    Type Name Description
    System.String value
    Returns
    Type Description
    System.String
    View Source

    FetchByGroups<TResult, TSource>(IDatabase, IEnumerable<TSource>, Int32, Func<IEnumerable<TSource>, Sql<ISqlContext>>)

    Declaration
    public static IEnumerable<TResult> FetchByGroups<TResult, TSource>(this IDatabase db, IEnumerable<TSource> source, int groupSize, Func<IEnumerable<TSource>, Sql<ISqlContext>> sqlFactory)
    Parameters
    Type Name Description
    IDatabase db
    System.Collections.Generic.IEnumerable<TSource> source
    System.Int32 groupSize
    System.Func<System.Collections.Generic.IEnumerable<TSource>, Sql<ISqlContext>> sqlFactory
    Returns
    Type Description
    System.Collections.Generic.IEnumerable<TResult>
    Type Parameters
    Name Description
    TResult
    TSource
    View Source

    GetCurrentTransactionIsolationLevel(IDatabase)

    Declaration
    public static IsolationLevel GetCurrentTransactionIsolationLevel(this IDatabase database)
    Parameters
    Type Name Description
    IDatabase database
    Returns
    Type Description
    System.Data.IsolationLevel
    View Source

    TruncateTable(IDatabase, ISqlSyntaxProvider, String)

    Declaration
    public static void TruncateTable(this IDatabase db, ISqlSyntaxProvider sqlSyntax, string tableName)
    Parameters
    Type Name Description
    IDatabase db
    ISqlSyntaxProvider sqlSyntax
    System.String tableName
    • Improve this Doc
    • View Source
    In This Article
    • Methods
      • BulkInsertRecords<T>(IUmbracoDatabase, IEnumerable<T>, Boolean)
      • BulkInsertRecordsWithTransaction<T>(IUmbracoDatabase, IEnumerable<T>, Boolean)
      • ConfigureNPocoBulkExtensions()
      • EscapeAtSymbols(String)
      • FetchByGroups<TResult, TSource>(IDatabase, IEnumerable<TSource>, Int32, Func<IEnumerable<TSource>, Sql<ISqlContext>>)
      • GetCurrentTransactionIsolationLevel(IDatabase)
      • TruncateTable(IDatabase, ISqlSyntaxProvider, String)
    Back to top Copyright © 2016-present Umbraco
    Generated by DocFX