public void Test(GeneralDbType inpuType, NpgsqlDbType expectedType)
        {
            // Arrange

            // Act
            var result = PostgresConnManager.MapGeneralDbTypeToNpgsqlDbType(inpuType);

            // Assert
            Assert.AreEqual(expectedType, result);
        }
Beispiel #2
0
        /// <summary>
        /// Get meta data from a SQL statement
        /// </summary>
        /// <param name="connectionString">Connection string to use</param>
        /// <param name="entityName">Name of the entity class</param>
        /// /// <param name="cmd">Current command to get meta data for</param>
        /// <param name="nameOfPrimaryKeyField">Name of the primary key field. Default: null</param>
        public override void GetMetaData(string connectionString, string entityName, DbCommand cmd, string nameOfPrimaryKeyField = null)
        {
            var table = new MetaDataTable {
                Name = entityName
            };

            IConnManager db = new PostgresConnManager(connectionString);

            table.Sql = cmd.CommandText;

            // Act
            var reader = (NpgsqlDataReader)db.GetDataReader(cmd);

            //
            var schema = reader.GetColumnSchema();

            for (var i = 0; i < schema.Count; i++)
            {
                var col = schema[i];

                var colItem = new MetaDataField
                {
                    Name           = col.ColumnName,
                    DatabaseType   = col.DataType,
                    SourceDataType = reader.GetProviderSpecificFieldType(i).ToString(),
                    IsPrimaryKey   = col.ColumnName == nameOfPrimaryKeyField
                };

                //Debug.Print(colItem.SourceDataType);

                if (col.ColumnSize != null)
                {
                    colItem.MaxLength = (int)col.ColumnSize;
                }

                table.Fields.Add(colItem);
            }

            //var p = new NpgsqlParameter()

            Table = table;
        }
        public void Setup()
        {
            var conn = TestHelper.PostgresConnectionString;

            _db = PostgresConnManager.GetConnManager(conn);
        }