private void PopulateResults(Procedure procedure, StoreProcedureMetadata result, SqlConnection conn) { using (var cmd = conn.CreateCommand()) { cmd.CommandText = procedure.Name; cmd.CommandType = CommandType.StoredProcedure; result.Parameters.ForEach(p => { var dotNetType = _sqlTypeConverter.TypeList.First(_ => _.SqlServerTypeName == p.TypeName).DotNetType; var value = (object)DBNull.Value; if (dotNetType != null) { if (dotNetType == typeof(string)) { value = ""; } else { value = Activator.CreateInstance(dotNetType); } } cmd.Parameters.AddWithValue(p.ParameterName, value); }); var listOfResults = new List <DataTable>(); using (var reader = cmd.ExecuteReader()) { listOfResults.Add(reader.GetSchemaTable()); while (reader.NextResult()) { listOfResults.Add(reader.GetSchemaTable()); } } listOfResults.ForEach(r => { var singleResultData = new List <SchemaTableRow>(); foreach (DataRow row in r.Rows) { var newRow = SchemaTableRow.FromDataRow(row); newRow.FriendlyTypeName = _cSharpClassNameConverter.GetCSharpName(newRow.DataType); singleResultData.Add(newRow); } result.Results.Add(singleResultData); }); } }
public void RemoveSchemaTableRow(SchemaTableRow row) { this.Rows.Remove(row); }
public void AddSchemaTableRow(SchemaTableRow row) { this.Rows.Add(row); }
public SchemaTableRowChangeEvent(SchemaTableRow row, global::System.Data.DataRowAction action) { this.eventRow = row; this.eventAction = action; }