public void Test(GeneralDbType inpuType, NpgsqlDbType expectedType) { // Arrange // Act var result = PostgresConnManager.MapGeneralDbTypeToNpgsqlDbType(inpuType); // Assert Assert.AreEqual(expectedType, result); }
/// <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); }