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 void Build_Query_Creates_Client_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 <Guid, object>("Id", true, true, new Column("Id", SqlDataType.Guid(), 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.Guid(), createQuery.ColumnDefinitions[0].DataType);
            Assert.AreEqual(false, createQuery.ColumnDefinitions[0].IsNullable);
            Assert.AreEqual(false, createQuery.ColumnDefinitions[0].IsAutoIncrement);
            Assert.AreEqual(true, createQuery.ColumnDefinitions[0].IsPrimaryKey);
        }
Exemplo n.º 3
0
 public virtual async Task Data_StoreGuid()
 {
     await Data_TestStoreDataType(SqlDataType.Guid(), Guid.NewGuid());
 }