public void Build_Query_Returns_Composite_Create_Query() { var entityModel = new EntityModel <object>( null, new Data.Modelling.Analysis.DefaultIntersectionAnalyzer <EntityModel, EntityField, Data.Modelling.TypeModel, Data.Modelling.PropertyInfoField>(), new[] { new ValueEntityField <int, object>("Field", true, true, new Column("Field", SqlDataType.Int(), false), new TableReference(""), false) }); var createTableBuilder = new CreateTableQueryBuilder <object>(entityModel); var query = createTableBuilder.BuildQuery(); Assert.IsInstanceOfType(query, typeof(CompositeQueryExpression)); }
public void Build_Query_Creates_Index() { var field = new ValueEntityField <int, object>("Field", true, true, new Column("Field", SqlDataType.Int(), false), new TableReference(""), false); var index = new Index("TestIndex", false, new[] { field }); var entityModel = new EntityModel <object>( null, new Data.Modelling.Analysis.DefaultIntersectionAnalyzer <EntityModel, EntityField, Data.Modelling.TypeModel, Data.Modelling.PropertyInfoField>(), new[] { field }, indexes: new[] { index }); var createTableBuilder = new CreateTableQueryBuilder <object>(entityModel); var query = createTableBuilder.BuildQuery() as CompositeQueryExpression; var indexExpression = query.Queries[1] as CreateTableIndexExpression; Assert.AreEqual("Object", indexExpression.Table.TableName); Assert.AreEqual("Field", indexExpression.Columns[0].ColumnName); Assert.IsFalse(indexExpression.UniqueConstraint); }
public void Build_Query_Creates_Server_Generated_Primary_Key() { var entityModel = new EntityModel <object>( null, new Data.Modelling.Analysis.DefaultIntersectionAnalyzer <EntityModel, EntityField, Data.Modelling.TypeModel, Data.Modelling.PropertyInfoField>(), new[] { new ValueEntityField <int, object>("Id", true, true, new Column("Id", SqlDataType.Int(), false), new TableReference(""), true) }); var createTableBuilder = new CreateTableQueryBuilder <object>(entityModel); var query = createTableBuilder.BuildQuery() as CompositeQueryExpression; var createQuery = query.Queries[0] as CreateTableExpression; Assert.AreEqual("Id", createQuery.ColumnDefinitions[0].ColumnName); Assert.AreEqual(SqlDataType.Int(), createQuery.ColumnDefinitions[0].DataType); Assert.AreEqual(false, createQuery.ColumnDefinitions[0].IsNullable); Assert.AreEqual(true, createQuery.ColumnDefinitions[0].IsAutoIncrement); Assert.AreEqual(true, createQuery.ColumnDefinitions[0].IsPrimaryKey); }