public EsentColumn AddColumn <T>(string name, Encoding encoding = null, int?max = null, object defaultValue = null, EsentColumn.Option option = EsentColumn.Option.None) { CheckState(); _columnsValid = false; return(EsentColumn.Create <T>(this, name, encoding, max, defaultValue, option)); }
internal static EsentColumn Create <T>(EsentTable table, string name, Encoding encoding, int?max, object defaultValue, Option option) { var columnType = typeof(T); var column = new EsentColumn { Table = table, Name = name, ColumnType = columnType, Encoding = encoding, Max = max, DefaultValue = defaultValue, JetDef = { grbit = (ColumndefGrbit)option } }; var defaultValueBytes = ValueProcessor.GetBytes(defaultValue, encoding); var defaultValueSize = defaultValueBytes?.Length ?? 0; Api.JetAddColumn(table.Database.Session.JetId, table.JetId, name, column.JetDef, defaultValueBytes, defaultValueSize, out column.JetId); return(column); }
public void DropColumn(string name) { CheckState(); _columnsValid = false; EsentColumn.Drop(this, name); }