public void ShouldThrowInvalidProgramExceptionWhenProviderNameIsNotRegistered()
        {
            CustomQueryProviderFactory.Register();

            Action action = () => QueryProviderFactories.GetFactory(new CustomConnection());

            action.ShouldThrow <InvalidOperationException>();
        }
        public void ShouldThrowInvalidProgramExceptionWhenConnectionIsNotRegistered()
        {
            CustomQueryProviderFactory.Register();

            Action action = () => QueryProviderFactories.GetFactory("System.Odbc");

            action.ShouldThrow <InvalidOperationException>();
        }
Example #3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Database" /> class.
        /// </summary>
        /// <param name="activeConnection">The active connection.</param>
        /// <param name="modelMapper">Model mapper, which will be used for mapping Object to Relation database.</param>
        public Database(DbConnection activeConnection, IModelMapper modelMapper)
        {
            Check.NotNull(activeConnection, nameof(activeConnection));
            Check.NotNull(modelMapper, nameof(modelMapper));

            var databaseMapper      = new DatabaseMapper(modelMapper);
            var defaultModelFactory = new DynamicMethodModelFactory(databaseMapper);

            Init(activeConnection, QueryProviderFactories.GetFactory(activeConnection),
                 databaseMapper, defaultModelFactory);
        }
            private IQueryProvider CreateQueryProvider()
            {
                IQueryProviderFactory factory;

                if (_connectionString != null)
                {
                    factory = _queryProviderFactory ?? QueryProviderFactories.GetFactory(_connectionString.KormProvider);
                    return(factory.Create(_connectionString, _modelBuilder.Value, _databaseMapper.Value));
                }
                else
                {
                    factory = _queryProviderFactory ?? QueryProviderFactories.GetFactory(_connection);
                    return(factory.Create(_connection, _modelBuilder.Value, _databaseMapper.Value));
                }
            }
 public void Dispose()
 {
     QueryProviderFactories.UnRegisterAll();
     SqlServerQueryProviderFactory.Register();
 }
        public void GetFactoryByConnection()
        {
            CustomQueryProviderFactory.Register();

            QueryProviderFactories.GetFactory(new SqlConnection()).Should().BeOfType <CustomQueryProviderFactory>();
        }
        public void GetFactoryByProviderName()
        {
            CustomQueryProviderFactory.Register();

            QueryProviderFactories.GetFactory("System.Data.CustomDb").Should().BeOfType <CustomQueryProviderFactory>();
        }
 internal static void Register() => QueryProviderFactories.Register <SqlConnection>("System.Data.CustomDb", new CustomQueryProviderFactory());
Example #9
0
 /// <summary>
 /// Registers instance of this type to <see cref="QueryProviderFactories"/>.
 /// </summary>
 public static void Register()
 {
     QueryProviderFactories.Register <OleDbConnection>("System.Data.OleDb", new MsAccessQueryProviderFactory());
 }
 /// <summary>
 /// Registers instance of this type to <see cref="QueryProviderFactories"/>.
 /// </summary>
 public static void Register()
 {
     QueryProviderFactories.Register <OleDbConnection>(MsAccessDataHelper.ClientId, new MsAccessQueryProviderFactory());
 }
Example #11
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Database"/> class.
 /// </summary>
 /// <param name="activeConnection">The active connection.</param>
 public Database(DbConnection activeConnection)
     : this(activeConnection, QueryProviderFactories.GetFactory(activeConnection))
 {
 }
Example #12
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Database"/> class.
 /// </summary>
 /// <param name="connectionString">Connection string settings.</param>
 public Database(KormConnectionSettings connectionString)
     : this(connectionString, QueryProviderFactories.GetFactory(connectionString.KormProvider))
 {
 }
Example #13
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Database"/> class.
 /// </summary>
 /// <param name="connectionString">The active connection.</param>
 public Database(ConnectionStringSettings connectionString)
     : this(connectionString, QueryProviderFactories.GetFactory(connectionString.ProviderName))
 {
 }
Example #14
0
 public static void Register()
 {
     QueryProviderFactories.Register <CustomConnection>("System.Data.CustomDb", new CustomQueryProviderFactory());
 }