Example #1
0
        /// <summary>
        /// Executes queries and converts records to objects using specified ctor and property mappings.
        /// </summary>
        static void GetDataUsingCtor()
        {
            var propertyMappings = new PropertyColumnMapping[] {
                new PropertyColumnMapping("Name", typeof(string))
            };

            var ctorMappings = new ColumnConstructorParameterMappingCollection<Company>(new Type[] { typeof(int), typeof(string) });
            ctorMappings.Add("CompanyID", 0);
            ctorMappings.Add("RegistryNumber", 1);

            var company = GetSingleCompany(ctorMappings, propertyMappings);

            Console.WriteLine("\nCompany 3 is {0} {1}\n", company.Registry, company.Name);

            company = GetFirstCompany(ctorMappings, propertyMappings);

            Console.WriteLine("1st company is {0} {1}\n", company.Registry, company.Name);

            var companies = GetAllCompanies(ctorMappings, propertyMappings);

            Console.WriteLine("Companies are");

            foreach (var c in companies)
            {
                Console.WriteLine("{0}: {1} {2}", c.ID, c.Registry, c.Name);
            }
        }
Example #2
0
        /// <summary>
        /// Executes queries and converts records to objects using specified ctor and property mappings.
        /// </summary>
        static void GetDataUsingCtor()
        {
            var propertyMappings = new PropertyColumnMapping[] {
                new PropertyColumnMapping("Name", typeof(string))
            };

            var ctorMappings = new ColumnConstructorParameterMappingCollection <Company>(new Type[] { typeof(int), typeof(string) });

            ctorMappings.Add("CompanyID", 0);
            ctorMappings.Add("RegistryNumber", 1);

            var company = GetSingleCompany(ctorMappings, propertyMappings);

            Console.WriteLine("\nCompany 3 is {0} {1}\n", company.Registry, company.Name);

            company = GetFirstCompany(ctorMappings, propertyMappings);

            Console.WriteLine("1st company is {0} {1}\n", company.Registry, company.Name);

            var companies = GetAllCompanies(ctorMappings, propertyMappings);

            Console.WriteLine("Companies are");

            foreach (var c in companies)
            {
                Console.WriteLine("{0}: {1} {2}", c.ID, c.Registry, c.Name);
            }
        }
Example #3
0
        /// <summary>
        /// Executes query that might return multiple records, but only takes 1st one.
        /// </summary>
        static IEnumerable<Company> GetAllCompanies(ColumnConstructorParameterMappingCollection<Company> ctorMappings, IEnumerable<PropertyColumnMapping> propMappings)
        {
            string sql = "SELECT * FROM Company;";

            var settings = new SqlCommandSettings(sql, CommandType.Text);

            var executor = new SqlExecutor(cs);

            var companies = executor.GetRecords<Company>(settings, ctorMappings, propMappings);

            return companies;
        }
Example #4
0
        /// <summary>
        /// Executes query that might return multiple records, but only takes 1st one.
        /// </summary>
        static IEnumerable <Company> GetAllCompanies(ColumnConstructorParameterMappingCollection <Company> ctorMappings, IEnumerable <PropertyColumnMapping> propMappings)
        {
            string sql = "SELECT * FROM Company;";

            var settings = new SqlCommandSettings(sql, CommandType.Text);

            var executor = new SqlExecutor(cs);

            var companies = executor.GetRecords <Company>(settings, ctorMappings, propMappings);

            return(companies);
        }
Example #5
0
        /// <summary>
        /// Executes query that might return multiple records, but only takes 1st one.
        /// </summary>
        static Company GetFirstCompany(ColumnConstructorParameterMappingCollection <Company> ctorMappings, IEnumerable <PropertyColumnMapping> propMappings)
        {
            string sql = "SELECT * FROM Company WHERE RegistryNumber LIKE '788%';";

            var settings = new SqlCommandSettings(sql, CommandType.Text);

            var executor = new SqlExecutor(cs);

            var company = executor.GetFirstRecord <Company>(settings, ctorMappings, propMappings);

            return(company);
        }
Example #6
0
        /// <summary>
        /// Executes query that expects only 1 record to be returned.
        /// </summary>
        static Company GetSingleCompany(ColumnConstructorParameterMappingCollection <Company> ctorMappings, IEnumerable <PropertyColumnMapping> propMappings)
        {
            string sql = "SELECT * FROM Company WHERE CompanyID = @id;";

            int id = 3;

            var settings = new SqlCommandSettings(sql, CommandType.Text);

            settings.AddParameter(new SqlParameter("@id", id));

            var executor = new SqlExecutor(cs);

            var company = executor.GetSingleRecord <Company>(settings, ctorMappings, propMappings);

            return(company);
        }
Example #7
0
        /// <summary>
        /// Execute query that returns only single record.
        /// </summary>
        /// <typeparam name="T">Type of an object read.</typeparam>
        /// <param name="settings">The settings for the command to be executed.</param>
        /// <param name="ctorMappings">The mappings between constructor arguments and columns.</param>
        /// <param name="propMappings">The mappings between properties and columns.</param>
        /// <returns>A single <typeparamref name="T"/> instance or default <typeparamref name="T"/>.</returns>
        public T GetSingleRecord <T>(CommandSettings settings, ColumnConstructorParameterMappingCollection <T> ctorMappings, IEnumerable <PropertyColumnMapping> propMappings = null) where T : class
        {
            using (var connection = GetConnection())
                using (var command = GetCommand(settings, connection))
                {
                    Exception exception;

                    if (connection.TryOpen(out exception))
                    {
                        using (var reader = command.ExecuteReader())
                        {
                            return(reader.GetSingleRecord <T>(ctorMappings, propMappings));
                        }
                    }
                    else
                    {
                        throw exception;
                    }
                }
        }
Example #8
0
        /// <summary>
        /// Executes query that expects only 1 record to be returned.
        /// </summary>
        static Company GetSingleCompany(ColumnConstructorParameterMappingCollection<Company> ctorMappings, IEnumerable<PropertyColumnMapping> propMappings)
        {
            string sql = "SELECT * FROM Company WHERE CompanyID = @id;";

            int id = 3;

            var settings = new SqlCommandSettings(sql, CommandType.Text);
            settings.AddParameter(new SqlParameter("@id", id));

            var executor = new SqlExecutor(cs);

            var company = executor.GetSingleRecord<Company>(settings, ctorMappings, propMappings);

            return company;
        }
Example #9
0
        /// <summary>
        /// Executes query that might return multiple records, but only takes 1st one.
        /// </summary>
        static Company GetFirstCompany(ColumnConstructorParameterMappingCollection<Company> ctorMappings, IEnumerable<PropertyColumnMapping> propMappings)
        {
            string sql = "SELECT * FROM Company WHERE RegistryNumber LIKE '788%';";

            var settings = new SqlCommandSettings(sql, CommandType.Text);

            var executor = new SqlExecutor(cs);

            var company = executor.GetFirstRecord<Company>(settings, ctorMappings, propMappings);

            return company;
        }