View Source
Class NPocoDatabaseExtensions
Provides extension methods to NPoco Database class.
Inheritance
System.Object
Assembly: Umbraco.Infrastructure.dll
Syntax
public static class NPocoDatabaseExtensions
Methods
View Source
Configures NPoco's SqlBulkCopyHelper to use the correct SqlConnection and SqlTransaction instances from the
underlying RetryDbConnection and ProfiledDbTransaction
Declaration
public static void ConfigureNPocoBulkExtensions()
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 |
|
IEnumerable<TSource> |
source |
|
System.Int32 |
groupSize |
|
Func<IEnumerable<TSource>, Sql<ISqlContext>> |
sqlFactory |
|
Returns
Type |
Description |
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
GetTypedCommand<TCommand>(IDbCommand)
Returns the underlying command as a typed command - this is used to unwrap the profiled mini profiler stuff
Declaration
public static TCommand GetTypedCommand<TCommand>(IDbCommand command)
where TCommand : class, IDbCommand
Parameters
Type |
Name |
Description |
System.Data.IDbCommand |
command |
|
Returns
Type |
Description |
TCommand |
|
Type Parameters
Name |
Description |
TCommand |
|
View Source
GetTypedConnection<TConnection>(IDbConnection)
Returns the underlying connection as a typed connection - this is used to unwrap the profiled mini profiler stuff
Declaration
public static TConnection GetTypedConnection<TConnection>(IDbConnection connection)
where TConnection : class, IDbConnection
Parameters
Type |
Name |
Description |
System.Data.IDbConnection |
connection |
|
Returns
Type |
Description |
TConnection |
|
Type Parameters
Name |
Description |
TConnection |
|
View Source
GetTypedTransaction<TTransaction>(IDbTransaction)
Returns the underlying transaction as a typed transaction - this is used to unwrap the profiled mini profiler stuff
Declaration
public static TTransaction GetTypedTransaction<TTransaction>(IDbTransaction transaction)
where TTransaction : class, IDbTransaction
Parameters
Type |
Name |
Description |
System.Data.IDbTransaction |
transaction |
|
Returns
Type |
Description |
TTransaction |
|
Type Parameters
Name |
Description |
TTransaction |
|
View Source
IncludeColumn(PocoData, KeyValuePair<String, PocoColumn>)
Determines whether a column should be part of a bulk-insert.
Declaration
public static bool IncludeColumn(PocoData pocoData, KeyValuePair<string, PocoColumn> column)
Parameters
Type |
Name |
Description |
PocoData |
pocoData |
The PocoData object corresponding to the record's type.
|
KeyValuePair<System.String, PocoColumn> |
column |
The column.
|
Returns
Type |
Description |
System.Boolean |
A value indicating whether the column should be part of the bulk-insert.
|
Remarks
View Source
InsertOrUpdate<T>(IUmbracoDatabase, T)
Safely inserts a record, or updates if it exists, based on a unique constraint.
Declaration
public static RecordPersistenceType InsertOrUpdate<T>(this IUmbracoDatabase db, T poco)
where T : class
Parameters
Returns
Type |
Description |
RecordPersistenceType |
The action that executed, either an insert or an update. If an insert occurred and a PK value got generated, the
poco object
passed in will contain the updated value.
|
Type Parameters
View Source
InsertOrUpdate<T>(IUmbracoDatabase, T, String, Object)
Safely inserts a record, or updates if it exists, based on a unique constraint.
Declaration
public static RecordPersistenceType InsertOrUpdate<T>(this IUmbracoDatabase db, T poco, string updateCommand, object updateArgs)
where T : class
Parameters
Type |
Name |
Description |
IUmbracoDatabase |
db |
|
T |
poco |
|
System.String |
updateCommand |
If the entity has a composite key they you need to specify the update command explicitly
|
System.Object |
updateArgs |
|
Returns
Type |
Description |
RecordPersistenceType |
The action that executed, either an insert or an update. If an insert occurred and a PK value got generated, the
poco object
passed in will contain the updated value.
|
Type Parameters
View Source
QueryPaged<T>(IDatabase, Int64, Sql)
Iterates over the result of a paged data set with a db reader
Declaration
public static IEnumerable<T> QueryPaged<T>(this IDatabase database, long pageSize, Sql sql)
Parameters
Type |
Name |
Description |
IDatabase |
database |
|
System.Int64 |
pageSize |
The number of rows to load per page
|
Sql |
sql |
|
Returns
Type |
Description |
IEnumerable<T> |
|
Type Parameters
View Source
QueryPaged<T>(IDatabase, Int64, Sql, Nullable<Sql>)
Iterates over the result of a paged data set with a db reader
Declaration
public static IEnumerable<T> QueryPaged<T>(this IDatabase database, long pageSize, Sql sql, Sql? sqlCount)
Parameters
Type |
Name |
Description |
IDatabase |
database |
|
System.Int64 |
pageSize |
The number of rows to load per page
|
Sql |
sql |
|
System.Nullable<Sql> |
sqlCount |
Specify a custom Sql command to get the total count, if null is specified than the
auto-generated sql count will be used
|
Returns
Type |
Description |
IEnumerable<T> |
|
Type Parameters
View Source
TruncateTable(IDatabase, ISqlSyntaxProvider, String)
Declaration
public static void TruncateTable(this IDatabase db, ISqlSyntaxProvider sqlSyntax, string tableName)
Parameters