public static async Task <TemporaryTestTable> CreateDataTable(SqlDataType sqlDataType, IDataProvider dataProvider) { var tableName = $"DataTestTable_{sqlDataType.BaseType}"; await dataProvider.ExecuteNonQueryAsync(QueryExpression.CreateTable( tableName, QueryExpression.DefineColumn("Data", sqlDataType) )); return(new TemporaryTestTable(tableName, dataProvider)); }
public static async Task <TemporaryTestTable> CreateAutoIncrementTable(IDataProvider dataProvider) { await dataProvider.ExecuteNonQueryAsync(QueryExpression.CreateTable( AUTOINC_TABLE_NAME, QueryExpression.DefineColumn("Id", SqlDataType.Int(), isAutoIncrement: true, isPrimaryKey: true), QueryExpression.DefineColumn("Data", SqlDataType.Int()) )); return(new TemporaryTestTable(AUTOINC_TABLE_NAME, dataProvider)); }
public virtual async Task CreateTable_CanCreateCompositePrimaryKey() { var tableName = "CreateTableTest"; using (new TemporaryTestTable(tableName, DataProvider)) { await DataProvider.ExecuteNonQueryAsync( QueryExpression.CreateTable( tableName, QueryExpression.DefineColumn("AutoId", SqlDataType.Int(), isAutoIncrement: true, isPrimaryKey: true), QueryExpression.DefineColumn("RefId", SqlDataType.Guid(), isNullable: false, isPrimaryKey: true) )); Assert.IsTrue(await TableExists(tableName)); } }
public virtual async Task CreateTable_CanCreateATable() { var tableName = "CreateTableTest"; using (new TemporaryTestTable(tableName, DataProvider)) { await DataProvider.ExecuteNonQueryAsync( QueryExpression.CreateTable( tableName, QueryExpression.DefineColumn("Column", SqlDataType.Int()) ) ); Assert.IsTrue(await TableExists(tableName)); } }
private IEnumerable <ColumnDefinitionExpression> GetAllLocalColumns() { foreach (var field in _entityModel.Fields) { if (field.IsEntityLocalField) { if (field.Column != null) { yield return(QueryExpression.DefineColumn( field.Column.Name, field.Column.DataType, field.Column.IsNullable, field.IsPrimaryKey && field.IsSeverGenerated, field.IsPrimaryKey )); } foreach (var column in GetSubColumns(field)) { yield return(column); } } } IEnumerable <ColumnDefinitionExpression> GetSubColumns(EntityField field) { foreach (var subField in field.SubFields) { if (!subField.IsEntityLocalField) { continue; } if (subField.Column != null) { yield return(QueryExpression.DefineColumn( subField.Column.Name, subField.Column.DataType, subField.Column.IsNullable, subField.IsPrimaryKey && subField.IsSeverGenerated, subField.IsPrimaryKey )); } foreach (var column in GetSubColumns(subField)) { yield return(column); } } } }