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
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)
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 |
|
System.Object |
updateArgs |
|
Returns
Type Parameters
View Source
InsertOrUpdateAsync<T>(IUmbracoDatabase, T, String, Object)
Safely inserts a record, or updates if it exists, based on a unique constraint.
Declaration
public static async Task<RecordPersistenceType> InsertOrUpdateAsync<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 |
Task<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