public static SchemaObject Create(Column c, string dotNetName) { switch (c.ObjectKind) { case DbObjectKind.Table: return new Table(c.SchemaName, c.ObjectName, dotNetName); case DbObjectKind.View: return new View(c.SchemaName, c.ObjectName, dotNetName); case DbObjectKind.StoredProc: return new StoredProc(c.SchemaName, c.ObjectName, dotNetName); case DbObjectKind.ScalarFunction: return new ScalarFunction(c.SchemaName, c.ObjectName, dotNetName); case DbObjectKind.TableFunction: return new TableFunction(c.SchemaName, c.ObjectName, dotNetName); } return null; }
private void WriteClrType(Column column) { if (column.ClrType.IsGenericType && column.ClrType.GetGenericTypeDefinition() == typeof(Nullable<>)) { Write(column.ClrType.GetGenericArguments()[0].Name + "?"); } else { Write(column.ClrType.Name); } }