public void EL_ExecuteProfilableReader_NoParameters()
        {
            ProfilingResults.Clear();
            Profiler.ProcessResult = ProcessResult;

            var database = new GenericDatabase(TestClassBase.ConnectionString, SqlClientFactory.Instance.ToProfilable());

            var resultIds = new List<string>();
            string commandText = "select top 10 * from customers";

            using (var reader = database.ExecuteReader(CommandType.Text, commandText))
            {
                while (reader.Read())
                    resultIds.Add(reader.GetString(0));
            }

            Assert.That(resultIds.Count == 10);
            Assert.That(ProfilingResults.Count == 1);

            var profilerItem = ProfilingResults[0];
            Assert.That(profilerItem.CommandText == commandText);
            Assert.That(profilerItem.ExecuteType == ExecuteType.Reader);
            Assert.That(profilerItem.Parameters.Count == 0);
        }
Пример #2
0
partial         static void LoadCustomConnection(string databaseName, ref GenericDatabase genericDatabase);
        /// <summary>
        /// Create and return the DDB Connection from the <see cref="_mappingSet"/> field
        /// </summary>
        /// <returns>
        /// The DDB connection
        /// </returns>
        private DbConnection CreateDdbConnection()
        {
            // create ddb connection
            string dissdbConnectionString = this._mappingSet.DataSet.Connection.AdoConnectionString;
            string providerName = DatabaseType.GetProviderName(this._mappingSet.DataSet.Connection.DBType);

            DbProviderFactory dbFactory = DbProviderFactories.GetFactory(providerName);

            // for PC-axis it doesn't support DbFactory.CreateCommand() and the enteprise libs seem to call it
            var disseminationDb = new GenericDatabase(dissdbConnectionString, dbFactory);
            DbConnection ddbConnection = disseminationDb.CreateConnection();
            ddbConnection.Open();
            return ddbConnection;
        }