/// <summary> /// Initializes a new instance of the <see cref="BasicRepository{T}"/> class. /// </summary> /// <param name="dbFunction"> /// The db function. /// </param> /// <param name="dbAccess"> /// The db Access. /// </param> /// <param name="raiseEvent"> /// The raise Event. /// </param> /// <param name="haveBoardId"> /// The have Board Id. /// </param> public BasicRepository(IDbFunction dbFunction, IDbAccessV2 dbAccess, IRaiseEvent raiseEvent, IHaveBoardID haveBoardId) { this.DbFunction = dbFunction; this.DbAccess = dbAccess; this.DbEvent = raiseEvent; this.BoardID = haveBoardId.BoardID; }
/// <summary> /// Insert the entity using the model provided. /// </summary> /// <param name="dbAccess"> /// The db access. /// </param> /// <param name="insert"> /// The insert. /// </param> /// <param name="transaction"> /// The transaction. /// </param> /// <returns> /// The <see cref="int"/>. /// </returns> public static int Insert <T>([NotNull] this IDbAccessV2 dbAccess, [NotNull] T insert, [CanBeNull] IDbTransaction transaction = null) where T : IEntity { CodeContracts.ArgumentNotNull(dbAccess, "dbAccess"); if (transaction != null && transaction.Connection != null) { using (var command = OrmLiteConfig.DialectProvider.CreateParameterizedInsertStatement(insert, transaction.Connection)) { command.Populate(transaction); dbAccess.ExecuteNonQuery(command, transaction); return((int)OrmLiteConfig.DialectProvider.GetLastInsertId(command)); } } // no transaction using (var connection = dbAccess.CreateConnectionOpen()) { using (var command = OrmLiteConfig.DialectProvider.CreateParameterizedInsertStatement(insert, connection)) { command.Connection = connection; dbAccess.ExecuteNonQuery(command, transaction); return((int)OrmLiteConfig.DialectProvider.GetLastInsertId(command)); } } }
/// <summary> /// The execute scalar. /// </summary> /// <param name="dbAccess"> /// The db access. /// </param> /// <param name="cmd"> /// The cmd. /// </param> /// <param name="dbTransaction"> /// The db Transaction. /// </param> /// <returns> /// The execute scalar. /// </returns> public static object ExecuteScalar( [NotNull] this IDbAccessV2 dbAccess, [NotNull] IDbCommand cmd, [CanBeNull] IDbTransaction dbTransaction = null) { CodeContracts.ArgumentNotNull(dbAccess, "dbAccess"); CodeContracts.ArgumentNotNull(cmd, "cmd"); return(dbAccess.Execute((c) => c.ExecuteScalar(), cmd, dbTransaction)); }
/// <summary> /// The get reader. /// </summary> /// <param name="dbAccess"> /// The db access. /// </param> /// <param name="cmd"> /// The cmd. /// </param> /// <param name="dbTransaction"> /// The db transaction. /// </param> /// <returns> /// The <see cref="IDataReader"/> . /// </returns> public static IDataReader GetReader([NotNull] this IDbAccessV2 dbAccess, [NotNull] IDbCommand cmd, [NotNull] IDbTransaction dbTransaction) { CodeContracts.ArgumentNotNull(dbAccess, "dbAccess"); CodeContracts.ArgumentNotNull(cmd, "cmd"); CodeContracts.ArgumentNotNull(dbTransaction, "dbTransaction"); return(dbAccess.Execute((c) => c.ExecuteReader(), cmd, dbTransaction)); }
/// <summary> /// The get data. /// </summary> /// <param name="dbAccess"> /// The db access. /// </param> /// <param name="cmd"> /// The cmd. /// </param> /// <param name="dbTransaction"> /// </param> /// <returns> /// The <see cref="DataTable"/> . /// </returns> public static DataTable GetData( [NotNull] this IDbAccessV2 dbAccess, [NotNull] IDbCommand cmd, [CanBeNull] IDbTransaction dbTransaction = null) { CodeContracts.ArgumentNotNull(dbAccess, "dbAccess"); CodeContracts.ArgumentNotNull(cmd, "cmd"); return(dbAccess.GetDataset(cmd, dbTransaction).Tables[0]); }
/// <summary> /// The run. /// </summary> /// <param name="dbAccess"> /// The db access. /// </param> /// <param name="runFunc"> /// The run func. /// </param> /// <typeparam name="T"> /// </typeparam> /// <returns> /// The <see cref="T"/> . /// </returns> public static T Run <T>([NotNull] this IDbAccessV2 dbAccess, Func <IDbConnection, T> runFunc) { CodeContracts.ArgumentNotNull(dbAccess, "dbAccess"); CodeContracts.ArgumentNotNull(runFunc, "runFunc"); using (var connection = dbAccess.CreateConnectionOpen()) { return(runFunc(connection)); } }
public static DbConnection CreateConnection([NotNull] this IDbAccessV2 dbAccess) { CodeContracts.ArgumentNotNull(dbAccess, "dbAccess"); var connection = dbAccess.DbProviderFactory.CreateConnection(); connection.ConnectionString = dbAccess.ConnectionString; return(connection); }
/// <summary> /// The update. /// </summary> /// <param name="dbAccess"> /// The db access. /// </param> /// <param name="update"> /// The update. /// </param> /// <param name="transaction"> /// The transaction. /// </param> /// <typeparam name="T"> /// </typeparam> /// <returns> /// The <see cref="int"/>. /// </returns> public static int Update <T>([NotNull] this IDbAccessV2 dbAccess, [NotNull] T update, [CanBeNull] IDbTransaction transaction = null) where T : IEntity { CodeContracts.ArgumentNotNull(dbAccess, "dbAccess"); using (var connection = dbAccess.CreateConnection()) { using (var command = OrmLiteConfig.DialectProvider.CreateParameterizedUpdateStatement(update, connection)) { return(dbAccess.ExecuteNonQuery(command, transaction)); } } }
public static DbConnection CreateConnectionOpen([NotNull] this IDbAccessV2 dbAccess) { CodeContracts.ArgumentNotNull(dbAccess, "dbAccess"); var connection = dbAccess.CreateConnection(); if (connection.State != ConnectionState.Open) { // open it up... connection.Open(); } return(connection); }
/// <summary> /// The get dataset. /// </summary> /// <param name="dbAccess"> /// The db access. /// </param> /// <param name="cmd"> /// The cmd. /// </param> /// <param name="dbTransaction"> /// </param> /// <returns> /// The <see cref="DataSet"/> . /// </returns> public static DataSet GetDataset([NotNull] this IDbAccessV2 dbAccess, [NotNull] IDbCommand cmd, [CanBeNull] IDbTransaction dbTransaction = null) { CodeContracts.ArgumentNotNull(dbAccess, "dbAccess"); CodeContracts.ArgumentNotNull(cmd, "cmd"); return(dbAccess.Execute( (c) => { var ds = new DataSet(); IDbDataAdapter dataAdapter = dbAccess.DbProviderFactory.CreateDataAdapter(); if (dataAdapter != null) { dataAdapter.SelectCommand = cmd; dataAdapter.Fill(ds); } return ds; }, cmd, dbTransaction)); }
/// <summary> /// Test the DB Connection. /// </summary> /// <param name="dbAccess"> /// The db Access. /// </param> /// <param name="exceptionMessage"> /// outbound ExceptionMessage /// </param> /// <returns> /// true if successfully connected /// </returns> public static bool TestConnection([NotNull] this IDbAccessV2 dbAccess, [NotNull] out string exceptionMessage) { exceptionMessage = string.Empty; bool success = false; try { using (var connection = dbAccess.CreateConnectionOpen()) { // we're connected! var conn = connection; } // success success = true; } catch (DbException x) { // unable to connect... exceptionMessage = x.Message; } return(success); }
/// <summary> /// Initializes a new instance of the <see cref="InitDatabaseProviderEvent"/> class. /// </summary> /// <param name="providerName"> /// The provider name. /// </param> /// <param name="dbAccess"> /// The db access. /// </param> public InitDatabaseProviderEvent(string providerName, IDbAccessV2 dbAccess) { this.ProviderName = providerName; this.DbAccess = dbAccess; }
/// <summary> /// Initializes a new instance of the <see cref="BaseMsSqlFunction"/> class. /// </summary> /// <param name="dbAccess"> /// The db access. /// </param> public BaseMsSqlFunction([NotNull] IDbAccessV2 dbAccess) { this.DbAccess = dbAccess; }
/// <summary> /// The get table. /// </summary> /// <param name="dbAccess"> /// The db access. /// </param> /// <typeparam name="T"> /// </typeparam> /// <returns> /// The <see cref="string"/>. /// </returns> public static string GetTableName <T>(this IDbAccessV2 dbAccess) { return(OrmLiteConfig.DialectProvider.GetQuotedTableName(ModelDefinition <T> .Definition)); }
/// <summary> /// Initializes a new instance of the <see cref="MsSqlGetStatsFunction"/> class. /// </summary> /// <param name="dbAccess"> /// The db access. /// </param> public MsSqlGetStatsFunction([NotNull] IDbAccessV2 dbAccess) : base(dbAccess) { }
/// <summary> /// The begin transaction. /// </summary> /// <param name="dbAccess"> /// The db access. /// </param> /// <param name="isolationLevel"> /// The isolation level. /// </param> /// <returns> /// The <see cref="IDbTransaction"/> . /// </returns> public static IDbTransaction BeginTransaction([NotNull] this IDbAccessV2 dbAccess, IsolationLevel isolationLevel = IsolationLevel.ReadUncommitted) { CodeContracts.ArgumentNotNull(dbAccess, "dbAccess"); return(dbAccess.CreateConnectionOpen().BeginTransaction(isolationLevel)); }