public void DefaultValueTestForKeyFieldTest() { Require.ProviderIs(StorageProvider.SqlServer); var configuration = base.BuildConfiguration(); configuration.UpgradeMode = DomainUpgradeMode.Recreate; configuration.Types.Register(typeof(TestEntity1)); Domain = Domain.Build(configuration); var driver = TestSqlDriver.Create(Domain.Configuration.ConnectionInfo); using (var connection = driver.CreateConnection()) { connection.Open(); var command = connection.CreateCommand(); var translator = driver.Translator; command.CommandText = string.Format("INSERT INTO {0} DEFAULT VALUES;", translator.QuoteIdentifier("TestEntity1")); command.ExecuteNonQuery(); connection.Close(); } using (var session = Domain.OpenSession()) using (var transaction = session.OpenTransaction()) { var entity = session.Query.All <TestEntity1>().FirstOrDefault(); Assert.IsNotNull(entity); Assert.IsNotNull(entity.Id); } }
public virtual void SetUp() { CheckRequirements(); sqlDriver = TestSqlDriver.Create(Url); sqlConnection = sqlDriver.CreateConnection(); try { sqlConnection.Open(); } catch (Exception exception) { Console.WriteLine(exception); throw; } try { sqlConnection.BeginTransaction(); Catalog = sqlDriver.ExtractCatalog(sqlConnection); var schema = Catalog.DefaultSchema; var creator = new ChinookSchemaCreator(sqlDriver); creator.DropSchemaContent(sqlConnection, schema); creator.CreateSchemaContent(sqlConnection, schema); sqlConnection.Commit(); } catch { sqlConnection.Rollback(); throw; } }
public override void SetUp() { base.SetUp(); sqlDriver = TestSqlDriver.Create(Url); sqlConnection = sqlDriver.CreateConnection(); sqlCommand = sqlConnection.CreateCommand(); }
public void ServerInfoTest() { Require.ProviderIs(StorageProvider.SqlServer); Require.ProviderVersionAtLeast(StorageProviderVersion.SqlServer2005); var driver = TestSqlDriver.Create(Url); Assert.Greater(driver.CoreServerInfo.ServerVersion.Major, 8); }
protected virtual void TestFixtureSetUp() { var parsedUrl = UrlInfo.Parse(Url); Driver = TestSqlDriver.Create(parsedUrl); Connection = Driver.CreateConnection(); Connection.Open(); }
public override void SetUp() { CheckRequirements(); SqlDriver = TestSqlDriver.Create(ConnectionInfo.ConnectionUrl.Url); SqlConnection = SqlDriver.CreateConnection(); SqlConnection.Open(); sqlCommand = SqlConnection.CreateCommand(); }
public virtual void SetUp() { CheckRequirements(); SqlDriver = TestSqlDriver.Create(ConnectionInfo.ConnectionUrl.Url); SqlConnection = SqlDriver.CreateConnection(); SqlConnection.Open(); Catalog = SqlDriver.ExtractCatalog(SqlConnection); DropAllTables(Catalog.DefaultSchema, true); CreateSchema(); InsertTestData(); }
public override void SetUp() { base.SetUp(); sqlDriver = TestSqlDriver.Create(Url); sqlConnection = sqlDriver.CreateConnection(); sqlCommand = sqlConnection.CreateCommand(); try { sqlConnection.Open(); } catch (SystemException e) { Console.WriteLine(e); } }
private void PrepareDb(DomainConfiguration config) { var driver = TestSqlDriver.Create(config.ConnectionInfo); using (var connection = driver.CreateConnection()) { connection.Open(); using (var cmd = connection.CreateCommand()) { cmd.CommandText = GetCleanDbScript(); cmd.ExecuteNonQuery(); cmd.CommandText = GetCreateDbScript(config); cmd.ExecuteNonQuery(); } } }
public override void TestFixtureSetUp() { recreateConfiguration = base.BuildConfiguration(); recreateConfiguration.Types.Register(typeof (Entity1)); recreateConfiguration.UpgradeMode = DomainUpgradeMode.Recreate; recreateConfiguration.KeyGenerators.Add(new KeyGeneratorConfiguration("GeneratorForEntity1") {CacheSize = 128, Seed = 0}); base.TestFixtureSetUp(); var driver = TestSqlDriver.Create(Domain.Configuration.ConnectionInfo); using (var sqlConnection = driver.CreateConnection()) { sqlConnection.Open(); extractedCatalog = driver.ExtractCatalog(sqlConnection); sqlConnection.Close(); } }
private static void CreateDb(string script) { var config = BuildConfiguration(); var driver = TestSqlDriver.Create(config.ConnectionInfo); var connection = driver.CreateConnection(); connection.Open(); try { using (var cmd = connection.CreateCommand()) { cmd.CommandText = script; cmd.ExecuteNonQuery(); } } finally { connection.Close(); } }
private static void EnsureSchemaExists(ConnectionInfo connectionInfo) { var driver = TestSqlDriver.Create(connectionInfo); using (var connection = driver.CreateConnection()) { connection.Open(); string checkSchemaQuery = string.Format("select schema_id('{0}')", SchemaName); using (var command = connection.CreateCommand(checkSchemaQuery)) if (command.ExecuteScalar() != DBNull.Value) { return; } var createSchemaQuery = string.Format("create schema {0}", SchemaName); using (var command = connection.CreateCommand(createSchemaQuery)) command.ExecuteNonQuery(); } }
private void DropExistingSequences() { var configuration = BuildDomainConfiguration(); var sqlDriver = TestSqlDriver.Create(configuration.ConnectionInfo); using (var connection = sqlDriver.CreateConnection()) { connection.Open(); var defaultNodeConfiguration = new NodeConfiguration(WellKnown.DefaultNodeId) { UpgradeMode = configuration.UpgradeMode }; var mappingResolver = MappingResolver.Create(configuration, defaultNodeConfiguration, sqlDriver.GetDefaultSchema(connection)); var extractionResult = sqlDriver.Extract(connection, mappingResolver.GetSchemaTasks()); var queryBatch = SqlDml.Batch(); extractionResult.Catalogs .Where(c => c.GetDbNameInternal().In(GetUsedCatalogs())) .SelectMany(x => x.Schemas) .SelectMany(x => x.Sequences) .Select(SqlDdl.Drop) .ForEach(statement => queryBatch.Add(statement)); if (queryBatch.Count == 0) { return; } var compiledBatch = sqlDriver.Compile(queryBatch, new SqlCompilerConfiguration { DatabaseQualifiedObjects = true }) .GetCommandText(); if (string.IsNullOrWhiteSpace(compiledBatch)) { return; } using (var cmd = connection.CreateCommand(compiledBatch)) { _ = cmd.ExecuteNonQuery(); } } }
public void SetUp() { BuildDomain("1", DomainUpgradeMode.Recreate); using (var session = domain.OpenSession()) { using (var tx = session.OpenTransaction()) { var person = new Person { Name = "Person", Bytes = new byte[] { 1, 2, 3 } }; var bytesColumn = GetColumnInfo(Upgrader.TargetStorageModel, person.TypeInfo, "Bytes"); var driver = TestSqlDriver.Create(domain.Configuration.ConnectionInfo); var expected = driver.TypeMappings[typeof(byte[])].MapType().Length; Assert.AreEqual(expected, bytesColumn.Type.Length); tx.Complete(); } } }
protected override Xtensive.Orm.Domain BuildDomain(DomainConfiguration configuration) { var domain = base.BuildDomain(configuration); // Get current SQL model var driver = TestSqlDriver.Create(domain.Configuration.ConnectionInfo); using (var connection = driver.CreateConnection()) { connection.Open(); try { connection.BeginTransaction(); existingSchema = driver.ExtractDefaultSchema(connection); } finally { connection.Rollback(); } Assert.IsNotNull(existingSchema); return(domain); } }
public void MainTest() { var configuration = base.BuildConfiguration(); configuration.UpgradeMode = DomainUpgradeMode.Recreate; configuration.Types.Register(typeof(TestEntity)); Domain = Domain.Build(configuration); var driver = TestSqlDriver.Create(Domain.Configuration.ConnectionInfo); using (var connection = driver.CreateConnection()) { connection.Open(); var command = connection.CreateCommand(); var translator = driver.Translator; command.CommandText = string.Format("INSERT INTO {0}({1}) values(1);", translator.QuoteIdentifier("TestEntity"), translator.QuoteIdentifier("Id")); command.ExecuteNonQuery(); connection.Close(); } using (var session = Domain.OpenSession()) { using (var transaction = session.OpenTransaction()) { var entity = session.Query.All <TestEntity>().First(); Assert.AreEqual(1, entity.Id); Assert.AreEqual(64, entity.FByte); Assert.AreEqual(65, entity.FSByte); Assert.AreEqual(66, entity.FShort); Assert.AreEqual(67, entity.FUShort); Assert.AreEqual(68, entity.FInt); Assert.AreEqual(69, entity.FUInt); Assert.AreEqual(70L, entity.FLong); Assert.AreEqual(71L, entity.FULong); Assert.AreEqual(72.0, entity.FFloat); Assert.AreEqual(73.0, entity.FDouble); Assert.AreEqual(12.12M, entity.FDecimal); Assert.AreEqual(DateTime.Parse("2013.12.13"), entity.FDateTime); Assert.AreEqual("sql value", entity.FString); transaction.Complete(); } } }
public override void TestFixtureSetUp() { ProviderInfo = StorageProviderInfo.Instance.Info; driver = TestSqlDriver.Create(DomainConfigurationFactory.Create().ConnectionInfo); nodeToSchemaMap = BuildNodeToSchemaMap(); }
public void TestFixtureSetUp() { driver = TestSqlDriver.Create(DomainConfigurationFactory.Create().ConnectionInfo); }
private static void TestProvider(string providerName, string connectionString, string connectionUrl) { Assert.IsNotNull(TestSqlDriver.Create(connectionUrl)); Assert.IsNotNull(TestSqlDriver.Create(providerName, connectionString)); }
public virtual void SetUp() { CheckRequirements(); var driver = TestSqlDriver.Create(Url); using (var connection = driver.CreateConnection()) { connection.Open(); Catalog = driver.ExtractCatalog(connection); connection.Close(); } // BinaryModelProvider bmp = new BinaryModelProvider(@"C:/Debug/AdventureWorks.bin"); // model = Database.Model.Build(bmp); // // if (model!=null) // return; Catalog = new Catalog("AdventureWorks"); Catalog.CreateSchema("HumanResources"); Catalog.CreateSchema("Person"); Catalog.CreateSchema("Production"); Catalog.CreateSchema("Purchasing"); Catalog.CreateSchema("Sales"); Catalog.Schemas["HumanResources"].CreateCollation("Traditional_Spanish_CI_AI"); Catalog.Schemas["Person"].CreateCollation("Traditional_Spanish_CI_AI"); Catalog.Schemas["Production"].CreateCollation("Traditional_Spanish_CI_AI"); Catalog.Schemas["Purchasing"].CreateCollation("Traditional_Spanish_CI_AI"); Catalog.Schemas["Sales"].CreateCollation("Traditional_Spanish_CI_AI"); Catalog.Schemas["HumanResources"].CreateCollation("SQL_Latin1_General_CP1_CI_AS"); Catalog.Schemas["Person"].CreateCollation("SQL_Latin1_General_CP1_CI_AS"); Catalog.Schemas["Production"].CreateCollation("SQL_Latin1_General_CP1_CI_AS"); Catalog.Schemas["Purchasing"].CreateCollation("SQL_Latin1_General_CP1_CI_AS"); Catalog.Schemas["Sales"].CreateCollation("SQL_Latin1_General_CP1_CI_AS"); Table t; View v; TableColumn c; Constraint cs; t = Catalog.Schemas["Production"].CreateTable("TransactionHistoryArchive"); t.CreateColumn("TransactionID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ProductID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ReferenceOrderID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ReferenceOrderLineID", new SqlValueType(SqlType.Int32)); t.CreateColumn("TransactionDate", new SqlValueType(SqlType.DateTime)); t.CreateColumn("TransactionType", new SqlValueType(SqlType.VarChar)); t.CreateColumn("Quantity", new SqlValueType(SqlType.Int32)); t.CreateColumn("ActualCost", new SqlValueType("money")); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Sales"].CreateTable("CreditCard"); t.CreateColumn("CreditCardID", new SqlValueType(SqlType.Int32)); t.CreateColumn("CardType", new SqlValueType(SqlType.VarChar)); t.CreateColumn("CardNumber", new SqlValueType(SqlType.VarChar)); t.CreateColumn("ExpMonth", new SqlValueType(SqlType.UInt8)); t.CreateColumn("ExpYear", new SqlValueType(SqlType.Int16)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Production"].CreateTable("Document"); t.CreateColumn("DocumentID", new SqlValueType(SqlType.Int32)); t.CreateColumn("Title", new SqlValueType(SqlType.VarChar)); t.CreateColumn("FileName", new SqlValueType(SqlType.VarChar)); t.CreateColumn("FileExtension", new SqlValueType(SqlType.VarChar)); t.CreateColumn("Revision", new SqlValueType(SqlType.VarChar)); t.CreateColumn("ChangeNumber", new SqlValueType(SqlType.Int32)); t.CreateColumn("Status", new SqlValueType(SqlType.UInt8)); t.CreateColumn("DocumentSummary", new SqlValueType(SqlType.VarChar)); t.CreateColumn("Document", new SqlValueType(SqlType.VarBinaryMax)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Production"].CreateTable("Illustration"); t.CreateColumn("IllustrationID", new SqlValueType(SqlType.Int32)); t.CreateColumn("Diagram", new SqlValueType("xml")); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Production"].CreateTable("ProductDescription"); t.CreateColumn("ProductDescriptionID", new SqlValueType(SqlType.Int32)); t.CreateColumn("Description", new SqlValueType(SqlType.VarChar)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Sales"].CreateTable("SpecialOffer"); t.CreateColumn("SpecialOfferID", new SqlValueType(SqlType.Int32)); t.CreateColumn("Description", new SqlValueType(SqlType.VarChar)); t.CreateColumn("DiscountPct", new SqlValueType(SqlType.Int32)); t.CreateColumn("Type", new SqlValueType(SqlType.VarChar)); t.CreateColumn("Category", new SqlValueType(SqlType.VarChar)); t.CreateColumn("StartDate", new SqlValueType(SqlType.DateTime)); t.CreateColumn("EndDate", new SqlValueType(SqlType.DateTime)); t.CreateColumn("MinQty", new SqlValueType(SqlType.Int32)); t.CreateColumn("MaxQty", new SqlValueType(SqlType.Int32)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Production"].CreateTable("ProductPhoto"); t.CreateColumn("ProductPhotoID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ThumbNailPhoto", new SqlValueType(SqlType.VarBinaryMax)); t.CreateColumn("ThumbnailPhotoFileName", new SqlValueType(SqlType.VarChar)); t.CreateColumn("LargePhoto", new SqlValueType(SqlType.VarBinaryMax)); t.CreateColumn("LargePhotoFileName", new SqlValueType(SqlType.VarChar)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Sales"].CreateTable("Customer"); t.CreateColumn("CustomerID", new SqlValueType(SqlType.Int32)); t.CreateColumn("TerritoryID", new SqlValueType(SqlType.Int32)); t.CreateColumn("AccountNumber", new SqlValueType(SqlType.VarChar)); t.CreateColumn("CustomerType", new SqlValueType(SqlType.VarChar)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Sales"].CreateTable("CustomerAddress"); t.CreateColumn("CustomerID", new SqlValueType(SqlType.Int32)); t.CreateColumn("AddressID", new SqlValueType(SqlType.Int32)); t.CreateColumn("AddressTypeID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["HumanResources"].CreateTable("EmployeeAddress"); t.CreateColumn("EmployeeID", new SqlValueType(SqlType.Int32)); t.CreateColumn("AddressID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Purchasing"].CreateTable("VendorAddress"); t.CreateColumn("VendorID", new SqlValueType(SqlType.Int32)); t.CreateColumn("AddressID", new SqlValueType(SqlType.Int32)); t.CreateColumn("AddressTypeID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Purchasing"].CreateTable("ProductVendor"); t.CreateColumn("ProductID", new SqlValueType(SqlType.Int32)); t.CreateColumn("VendorID", new SqlValueType(SqlType.Int32)); t.CreateColumn("AverageLeadTime", new SqlValueType(SqlType.Int32)); t.CreateColumn("StandardPrice", new SqlValueType("money")); t.CreateColumn("LastReceiptCost", new SqlValueType("money")); t.CreateColumn("LastReceiptDate", new SqlValueType(SqlType.DateTime)); t.CreateColumn("MinOrderQty", new SqlValueType(SqlType.Int32)); t.CreateColumn("MaxOrderQty", new SqlValueType(SqlType.Int32)); t.CreateColumn("OnOrderQty", new SqlValueType(SqlType.Int32)); t.CreateColumn("UnitMeasureCode", new SqlValueType(SqlType.VarChar)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Production"].CreateTable("BillOfMaterials"); t.CreateColumn("BillOfMaterialsID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ProductAssemblyID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ComponentID", new SqlValueType(SqlType.Int32)); t.CreateColumn("StartDate", new SqlValueType(SqlType.DateTime)); t.CreateColumn("EndDate", new SqlValueType(SqlType.DateTime)); t.CreateColumn("UnitMeasureCode", new SqlValueType(SqlType.VarChar)); t.CreateColumn("BOMLevel", new SqlValueType(SqlType.Int16)); t.CreateColumn("PerAssemblyQty", new SqlValueType(SqlType.Decimal)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Purchasing"].CreateTable("PurchaseOrderHeader"); t.CreateColumn("PurchaseOrderID", new SqlValueType(SqlType.Int32)); t.CreateColumn("RevisionNumber", new SqlValueType(SqlType.UInt8)); t.CreateColumn("Status", new SqlValueType(SqlType.UInt8)); t.CreateColumn("EmployeeID", new SqlValueType(SqlType.Int32)); t.CreateColumn("VendorID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ShipMethodID", new SqlValueType(SqlType.Int32)); t.CreateColumn("OrderDate", new SqlValueType(SqlType.DateTime)); t.CreateColumn("ShipDate", new SqlValueType(SqlType.DateTime)); t.CreateColumn("SubTotal", new SqlValueType("money")); t.CreateColumn("TaxAmt", new SqlValueType("money")); t.CreateColumn("Freight", new SqlValueType("money")); t.CreateColumn("TotalDue", new SqlValueType("money")); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Purchasing"].CreateTable("VendorContact"); t.CreateColumn("VendorID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ContactID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ContactTypeID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Sales"].CreateTable("ContactCreditCard"); t.CreateColumn("ContactID", new SqlValueType(SqlType.Int32)); t.CreateColumn("CreditCardID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Sales"].CreateTable("StoreContact"); t.CreateColumn("CustomerID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ContactID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ContactTypeID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Purchasing"].CreateTable("PurchaseOrderDetail"); t.CreateColumn("PurchaseOrderID", new SqlValueType(SqlType.Int32)); t.CreateColumn("PurchaseOrderDetailID", new SqlValueType(SqlType.Int32)); t.CreateColumn("DueDate", new SqlValueType(SqlType.Int32)); t.CreateColumn("OrderQty", new SqlValueType(SqlType.Int32)); t.CreateColumn("ProductID", new SqlValueType(SqlType.Int32)); t.CreateColumn("UnitPrice", new SqlValueType(SqlType.Int32)); c = t.CreateColumn("LineTotal"); SqlTableRef pod = SqlDml.TableRef(t); c.Expression = pod["OrderQty"] * pod["UnitPrice"]; c.IsPersisted = false; t.CreateColumn("ReceivedQty", new SqlValueType(SqlType.Int32)); t.CreateColumn("RejectedQty", new SqlValueType(SqlType.Int32)); t.CreateColumn("StockedQty", new SqlValueType(SqlType.Int32)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Production"].CreateTable("WorkOrderRouting"); t.CreateColumn("WorkOrderID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ProductID", new SqlValueType(SqlType.Int32)); t.CreateColumn("OperationSequence", new SqlValueType(SqlType.Int16)); t.CreateColumn("LocationID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ScheduledStartDate", new SqlValueType(SqlType.DateTime)); t.CreateColumn("ScheduledEndDate", new SqlValueType(SqlType.DateTime)); t.CreateColumn("ActualStartDate", new SqlValueType(SqlType.DateTime)); t.CreateColumn("ActualEndDate", new SqlValueType(SqlType.DateTime)); t.CreateColumn("ActualResourceHrs", new SqlValueType(SqlType.Decimal)); t.CreateColumn("PlannedCost", new SqlValueType("money")); t.CreateColumn("ActualCost", new SqlValueType("money")); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Sales"].CreateTable("CountryRegionCurrency"); t.CreateColumn("CountryRegionCode", new SqlValueType(SqlType.VarChar)); t.CreateColumn("CurrencyCode", new SqlValueType(SqlType.VarChar)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Production"].CreateTable("ProductModelProductDescriptionCulture"); t.CreateColumn("ProductModelID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ProductDescriptionID", new SqlValueType(SqlType.Int32)); t.CreateColumn("CultureID", new SqlValueType(SqlType.VarChar)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Sales"].CreateTable("CurrencyRate"); t.CreateColumn("CurrencyRateID", new SqlValueType(SqlType.Int32)); t.CreateColumn("CurrencyRateDate", new SqlValueType(SqlType.DateTime)); t.CreateColumn("FromCurrencyCode", new SqlValueType(SqlType.VarChar)); t.CreateColumn("ToCurrencyCode", new SqlValueType(SqlType.VarChar)); t.CreateColumn("AverageRate", new SqlValueType("money")); t.CreateColumn("EndOfDayRate", new SqlValueType("money")); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Sales"].CreateTable("SalesOrderDetail"); t.CreateColumn("SalesOrderID", new SqlValueType(SqlType.Int32)); t.CreateColumn("SalesOrderDetailID", new SqlValueType(SqlType.Int32)); t.CreateColumn("CarrierTrackingNumber", new SqlValueType(SqlType.VarChar)); t.CreateColumn("OrderQty", new SqlValueType(SqlType.Int16)); t.CreateColumn("ProductID", new SqlValueType(SqlType.Int32)); t.CreateColumn("SpecialOfferID", new SqlValueType(SqlType.Int32)); t.CreateColumn("UnitPrice", new SqlValueType("money")); t.CreateColumn("UnitPriceDiscount", new SqlValueType("money")); t.CreateColumn("LineTotal", new SqlValueType(SqlType.Int32)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Sales"].CreateTable("SalesOrderHeaderSalesReason"); t.CreateColumn("SalesOrderID", new SqlValueType(SqlType.Int32)); t.CreateColumn("SalesReasonID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["HumanResources"].CreateTable("EmployeeDepartmentHistory"); t.CreateColumn("EmployeeID", new SqlValueType(SqlType.Int32)); t.CreateColumn("DepartmentID", new SqlValueType(SqlType.Int16)); t.CreateColumn("ShiftID", new SqlValueType(SqlType.DateTime)); t.CreateColumn("StartDate", new SqlValueType(SqlType.DateTime)); t.CreateColumn("EndDate", new SqlValueType(SqlType.DateTime)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Production"].CreateTable("ProductDocument"); t.CreateColumn("ProductID", new SqlValueType(SqlType.Int32)); t.CreateColumn("DocumentID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["HumanResources"].CreateTable("EmployeePayHistory"); t.CreateColumn("EmployeeID", new SqlValueType(SqlType.Int32)); t.CreateColumn("RateChangeDate", new SqlValueType(SqlType.DateTime)); t.CreateColumn("Rate", new SqlValueType("money")); t.CreateColumn("PayFrequency", new SqlValueType(SqlType.UInt8)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Sales"].CreateTable("SalesPerson"); t.CreateColumn("SalesPersonID", new SqlValueType(SqlType.Int32)); t.CreateColumn("TerritoryID", new SqlValueType(SqlType.Int32)); t.CreateColumn("SalesQuota", new SqlValueType("money")); t.CreateColumn("Bonus", new SqlValueType("money")); t.CreateColumn("CommissionPct", new SqlValueType("money")); t.CreateColumn("SalesYTD", new SqlValueType("money")); t.CreateColumn("SalesLastYear", new SqlValueType("money")); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Sales"].CreateTable("SalesPersonQuotaHistory"); t.CreateColumn("SalesPersonID", new SqlValueType(SqlType.Int32)); t.CreateColumn("QuotaDate", new SqlValueType(SqlType.DateTime)); t.CreateColumn("SalesQuota", new SqlValueType("money")); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Sales"].CreateTable("SalesTerritoryHistory"); t.CreateColumn("SalesPersonID", new SqlValueType(SqlType.Int32)); t.CreateColumn("TerritoryID", new SqlValueType(SqlType.Int32)); t.CreateColumn("StartDate", new SqlValueType(SqlType.DateTime)); t.CreateColumn("EndDate", new SqlValueType(SqlType.DateTime)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Production"].CreateTable("ProductModelIllustration"); t.CreateColumn("ProductModelID", new SqlValueType(SqlType.Int32)); t.CreateColumn("IllustrationID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Production"].CreateTable("ProductInventory"); t.CreateColumn("ProductID", new SqlValueType(SqlType.Int32)); t.CreateColumn("LocationID", new SqlValueType(SqlType.Int32)); t.CreateColumn("Shelf", new SqlValueType(SqlType.VarChar)); t.CreateColumn("Bin", new SqlValueType(SqlType.UInt8)); t.CreateColumn("Quantity", new SqlValueType(SqlType.UInt8)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Production"].CreateTable("WorkOrder"); t.CreateColumn("WorkOrderID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ProductID", new SqlValueType(SqlType.Int32)); t.CreateColumn("OrderQty", new SqlValueType(SqlType.Int32)); t.CreateColumn("StockedQty", new SqlValueType(SqlType.Int32)); t.CreateColumn("ScrappedQty", new SqlValueType(SqlType.Int16)); t.CreateColumn("StartDate", new SqlValueType(SqlType.DateTime)); t.CreateColumn("EndDate", new SqlValueType(SqlType.DateTime)); t.CreateColumn("DueDate", new SqlValueType(SqlType.DateTime)); t.CreateColumn("ScrapReasonID", new SqlValueType(SqlType.Int16)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Production"].CreateTable("TransactionHistory"); t.CreateColumn("TransactionID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ProductID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ReferenceOrderID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ReferenceOrderLineID", new SqlValueType(SqlType.Int32)); t.CreateColumn("TransactionDate", new SqlValueType(SqlType.DateTime)); t.CreateColumn("TransactionType", new SqlValueType(SqlType.VarChar)); t.CreateColumn("Quantity", new SqlValueType(SqlType.Int32)); t.CreateColumn("ActualCost", new SqlValueType("money")); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Sales"].CreateTable("ShoppingCartItem"); t.CreateColumn("ShoppingCartItemID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ShoppingCartID", new SqlValueType(SqlType.VarChar)); t.CreateColumn("Quantity", new SqlValueType(SqlType.Int32)); t.CreateColumn("ProductID", new SqlValueType(SqlType.Int32)); t.CreateColumn("DateCreated", new SqlValueType(SqlType.DateTime)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Production"].CreateTable("ProductListPriceHistory"); t.CreateColumn("ProductID", new SqlValueType(SqlType.Int32)); t.CreateColumn("StartDate", new SqlValueType(SqlType.DateTime)); t.CreateColumn("EndDate", new SqlValueType(SqlType.DateTime)); t.CreateColumn("ListPrice", new SqlValueType("money")); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Sales"].CreateTable("SpecialOfferProduct"); t.CreateColumn("SpecialOfferID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ProductID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Production"].CreateTable("ProductCostHistory"); t.CreateColumn("ProductID", new SqlValueType(SqlType.Int32)); t.CreateColumn("StartDate", new SqlValueType(SqlType.DateTime)); t.CreateColumn("EndDate", new SqlValueType(SqlType.DateTime)); t.CreateColumn("StandardCost", new SqlValueType("money")); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Person"].CreateTable("Address"); t.CreateColumn("AddressID", new SqlValueType(SqlType.Int32)); t.CreateColumn("AddressLine1", new SqlValueType(SqlType.VarChar)); t.CreateColumn("AddressLine2", new SqlValueType(SqlType.VarChar)); t.CreateColumn("City", new SqlValueType(SqlType.VarChar)); t.CreateColumn("StateProvinceID", new SqlValueType(SqlType.Int32)); t.CreateColumn("PostalCode", new SqlValueType(SqlType.VarChar)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Purchasing"].CreateTable("Vendor"); t.CreateColumn("VendorID", new SqlValueType(SqlType.Int32)); t.CreateColumn("AccountNumber", new SqlValueType(SqlType.VarChar)); t.CreateColumn("Name", new SqlValueType(SqlType.VarChar)); t.CreateColumn("CreditRating", new SqlValueType(SqlType.UInt8)); t.CreateColumn("PreferredVendorStatus", new SqlValueType(SqlType.Boolean)); t.CreateColumn("ActiveFlag", new SqlValueType(SqlType.Boolean)); t.CreateColumn("PurchasingWebServiceURL", new SqlValueType(SqlType.VarChar)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Sales"].CreateTable("SalesOrderHeader"); t.CreateColumn("SalesOrderID", new SqlValueType(SqlType.Int32)); t.CreateColumn("RevisionNumber", new SqlValueType(SqlType.UInt8)); t.CreateColumn("OrderDate", new SqlValueType(SqlType.DateTime)); t.CreateColumn("DueDate", new SqlValueType(SqlType.DateTime)); t.CreateColumn("ShipDate", new SqlValueType(SqlType.DateTime)); t.CreateColumn("Status", new SqlValueType(SqlType.UInt8)); t.CreateColumn("OnlineOrderFlag", new SqlValueType(SqlType.Boolean)); t.CreateColumn("SalesOrderNumber", new SqlValueType(SqlType.VarChar)); t.CreateColumn("PurchaseOrderNumber", new SqlValueType(SqlType.VarChar)); t.CreateColumn("AccountNumber", new SqlValueType(SqlType.VarChar)); t.CreateColumn("CustomerID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ContactID", new SqlValueType(SqlType.Int32)); t.CreateColumn("SalesPersonID", new SqlValueType(SqlType.Int32)); t.CreateColumn("TerritoryID", new SqlValueType(SqlType.Int32)); t.CreateColumn("BillToAddressID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ShipToAddressID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ShipMethodID", new SqlValueType(SqlType.Int32)); t.CreateColumn("CreditCardID", new SqlValueType(SqlType.Int32)); t.CreateColumn("CreditCardApprovalCode", new SqlValueType(SqlType.VarChar)); t.CreateColumn("CurrencyRateID", new SqlValueType(SqlType.Int32)); t.CreateColumn("SubTotal", new SqlValueType("money")); t.CreateColumn("TaxAmt", new SqlValueType("money")); t.CreateColumn("Freight", new SqlValueType("money")); t.CreateColumn("TotalDue", new SqlValueType("money")); t.CreateColumn("Comment", new SqlValueType(SqlType.VarChar)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["HumanResources"].CreateTable("Employee"); t.CreateColumn("EmployeeID", new SqlValueType(SqlType.Int32)); t.CreateColumn("NationalIDNumber", new SqlValueType(SqlType.VarChar)); t.CreateColumn("ContactID", new SqlValueType(SqlType.Int32)); t.CreateColumn("LoginID", new SqlValueType(SqlType.VarChar)); t.CreateColumn("ManagerID", new SqlValueType(SqlType.Int32)); t.CreateColumn("Title", new SqlValueType(SqlType.VarChar)); t.CreateColumn("BirthDate", new SqlValueType(SqlType.DateTime)); t.CreateColumn("MaritalStatus", new SqlValueType(SqlType.VarChar)); t.CreateColumn("Gender", new SqlValueType(SqlType.VarChar)); t.CreateColumn("HireDate", new SqlValueType(SqlType.DateTime)); t.CreateColumn("SalariedFlag", new SqlValueType(SqlType.Boolean)); t.CreateColumn("VacationHours", new SqlValueType(SqlType.Int16)); t.CreateColumn("SickLeaveHours", new SqlValueType(SqlType.Int16)); t.CreateColumn("CurrentFlag", new SqlValueType(SqlType.Boolean)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Production"].CreateTable("ProductProductPhoto"); t.CreateColumn("ProductID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ProductPhotoID", new SqlValueType(SqlType.Int32)); t.CreateColumn("Primary", new SqlValueType(SqlType.VarChar)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Person"].CreateTable("StateProvince"); t.CreateColumn("StateProvinceID", new SqlValueType(SqlType.Int32)); t.CreateColumn("StateProvinceCode", new SqlValueType(SqlType.VarChar)); t.CreateColumn("CountryRegionCode", new SqlValueType(SqlType.VarChar)); t.CreateColumn("IsOnlyStateProvinceFlag", new SqlValueType(SqlType.Boolean)); t.CreateColumn("Name", new SqlValueType(SqlType.VarChar)); t.CreateColumn("TerritoryID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Production"].CreateTable("ProductModel"); t.CreateColumn("ProductModelID", new SqlValueType(SqlType.Int32)); t.CreateColumn("Name", new SqlValueType(SqlType.VarChar)); t.CreateColumn("CatalogDescription", new SqlValueType("xml")); t.CreateColumn("Instructions", new SqlValueType("xml")); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Production"].CreateTable("Product"); c = t.CreateColumn("ProductID", new SqlValueType(SqlType.Int32)); c.SequenceDescriptor = new SequenceDescriptor(c, 1, 1); c.IsNullable = false; c = t.CreateColumn("Name", new SqlValueType(SqlType.VarChar, 50)); c.IsNullable = false; c = t.CreateColumn("ProductNumber", new SqlValueType(SqlType.VarChar, 25)); c.Collation = Catalog.Schemas["Production"].Collations["SQL_Latin1_General_CP1_CI_AS"]; c.IsNullable = false; c = t.CreateColumn("MakeFlag", new SqlValueType(SqlType.Boolean)); c.DefaultValue = 1; c.IsNullable = false; c = t.CreateColumn("FinishedGoodsFlag", new SqlValueType(SqlType.Boolean)); c.DefaultValue = 1; c.IsNullable = false; c = t.CreateColumn("Color", new SqlValueType(SqlType.VarChar, 15)); c.Collation = Catalog.Schemas["Production"].Collations["SQL_Latin1_General_CP1_CI_AS"]; c = t.CreateColumn("SafetyStockLevel", new SqlValueType(SqlType.Int16)); c.IsNullable = false; c = t.CreateColumn("ReorderPoint", new SqlValueType(SqlType.Int16)); c.IsNullable = false; c = t.CreateColumn("StandardCost", new SqlValueType("money")); c.IsNullable = false; c = t.CreateColumn("ListPrice", new SqlValueType("money")); c.IsNullable = false; c = t.CreateColumn("Size", new SqlValueType(SqlType.VarChar, 5)); c.Collation = Catalog.Schemas["Production"].Collations["SQL_Latin1_General_CP1_CI_AS"]; c = t.CreateColumn("SizeUnitMeasureCode", new SqlValueType(SqlType.Char, 3)); c.Collation = Catalog.Schemas["Production"].Collations["SQL_Latin1_General_CP1_CI_AS"]; c = t.CreateColumn("WeightUnitMeasureCode", new SqlValueType(SqlType.Char, 3)); c.Collation = Catalog.Schemas["Production"].Collations["SQL_Latin1_General_CP1_CI_AS"]; t.CreateColumn("Weight", new SqlValueType(SqlType.Decimal, 8, 2)); c = t.CreateColumn("DaysToManufacture", new SqlValueType(SqlType.Int32)); c.IsNullable = false; c = t.CreateColumn("ProductLine", new SqlValueType(SqlType.Char, 2)); c.Collation = Catalog.Schemas["Production"].Collations["SQL_Latin1_General_CP1_CI_AS"]; c = t.CreateColumn("Class", new SqlValueType(SqlType.Char, 2)); c.Collation = Catalog.Schemas["Production"].Collations["SQL_Latin1_General_CP1_CI_AS"]; c = t.CreateColumn("Style", new SqlValueType(SqlType.Char, 2)); c.Collation = Catalog.Schemas["Production"].Collations["SQL_Latin1_General_CP1_CI_AS"]; t.CreateColumn("ProductSubcategoryID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ProductModelID", new SqlValueType(SqlType.Int32)); c = t.CreateColumn("SellStartDate", new SqlValueType(SqlType.DateTime)); c.IsNullable = false; t.CreateColumn("SellEndDate", new SqlValueType(SqlType.DateTime)); t.CreateColumn("DiscontinuedDate", new SqlValueType(SqlType.DateTime)); c = t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); c.DefaultValue = SqlDml.CurrentDate(); c.IsNullable = false; SqlTableRef st = SqlDml.TableRef(t); t.CreateCheckConstraint("CK_Product_Class", SqlDml.Upper(st["Class"]) == 'H' || SqlDml.Upper(st["Class"]) == 'M' || SqlDml.Upper(st["Class"]) == 'L' || SqlDml.IsNull(st["Class"])); t.CreateCheckConstraint("CK_Product_DaysToManufacture", SqlDml.Upper(st["DaysToManufacture"]) >= 0); t.CreateCheckConstraint("CK_Product_ListPrice", SqlDml.Upper(st["ListPrice"]) >= 0); t.CreateCheckConstraint("CK_Product_ProductLine", SqlDml.Upper(st["ProductLine"]) == 'R' || SqlDml.Upper(st["ProductLine"]) == 'M' || SqlDml.Upper(st["ProductLine"]) == 'T' || SqlDml.Upper(st["ProductLine"]) == 'S' || SqlDml.IsNull(st["ProductLine"])); t.CreateCheckConstraint("CK_Product_ReorderPoint", SqlDml.Upper(st["ReorderPoint"]) > 0); t.CreateCheckConstraint("CK_Product_SafetyStockLevel", SqlDml.Upper(st["SafetyStockLevel"]) > 0); t.CreateCheckConstraint("CK_Product_SellEndDate", SqlDml.Upper(st["SellEndDate"]) > st["SellStartDate"] || SqlDml.IsNull(st["SellEndDate"])); t.CreateCheckConstraint("CK_Product_StandardCost", SqlDml.Upper(st["StandardCost"]) >= 0); t.CreateCheckConstraint("CK_Product_Style", SqlDml.Upper(st["Style"]) == 'U' || SqlDml.Upper(st["Style"]) == 'M' || SqlDml.Upper(st["Style"]) == 'W' || SqlDml.IsNull(st["Style"])); t.CreateCheckConstraint("CK_Product_Weight", SqlDml.Upper(st["Weight"]) > 0); t.CreatePrimaryKey("PK_Product_ProductID", t.TableColumns["ProductID"]); cs = t.CreateForeignKey("FK_Product_ProductModel_ProductModelID"); ((ForeignKey)cs).Columns.Add(t.TableColumns["ProductModelID"]); ((ForeignKey)cs).ReferencedColumns.Add(Catalog.Schemas["Production"].Tables["ProductModel"].TableColumns["ProductModelID"]); t = Catalog.Schemas["Person"].CreateTable("Contact"); t.CreateColumn("ContactID", new SqlValueType(SqlType.Int32)); t.CreateColumn("NameStyle", new SqlValueType(SqlType.Int32)); t.CreateColumn("Title", new SqlValueType(SqlType.VarChar)); t.CreateColumn("FirstName", new SqlValueType(SqlType.VarChar)); t.CreateColumn("MiddleName", new SqlValueType(SqlType.VarChar)); t.CreateColumn("LastName", new SqlValueType(SqlType.VarChar)); t.CreateColumn("Suffix", new SqlValueType(SqlType.VarChar)); t.CreateColumn("EmailAddress", new SqlValueType(SqlType.VarChar)); t.CreateColumn("EmailPromotion", new SqlValueType(SqlType.Int32)); t.CreateColumn("Phone", new SqlValueType(SqlType.VarChar)); t.CreateColumn("PasswordHash", new SqlValueType(SqlType.VarChar)); t.CreateColumn("PasswordSalt", new SqlValueType(SqlType.VarChar)); t.CreateColumn("AdditionalContactInfo", new SqlValueType("xml")); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Production"].CreateTable("UnitMeasure"); t.CreateColumn("UnitMeasureCode", new SqlValueType(SqlType.VarChar)); t.CreateColumn("Name", new SqlValueType(SqlType.VarChar)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Production"].CreateTable("ProductReview"); t.CreateColumn("ProductReviewID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ProductID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ReviewerName", new SqlValueType(SqlType.VarChar)); t.CreateColumn("ReviewDate", new SqlValueType(SqlType.DateTime)); t.CreateColumn("EmailAddress", new SqlValueType(SqlType.VarChar)); t.CreateColumn("Rating", new SqlValueType(SqlType.Int32)); t.CreateColumn("Comments", new SqlValueType(SqlType.VarChar)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Production"].CreateTable("ProductSubcategory"); t.CreateColumn("ProductSubcategoryID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ProductCategoryID", new SqlValueType(SqlType.Int32)); t.CreateColumn("Name", new SqlValueType(SqlType.VarChar)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Person"].CreateTable("AddressType"); t.CreateColumn("AddressTypeID", new SqlValueType(SqlType.Int32)); t.CreateColumn("Name", new SqlValueType(SqlType.VarChar)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Sales"].CreateTable("SalesReason"); t.CreateColumn("SalesReasonID", new SqlValueType(SqlType.Int32)); t.CreateColumn("Name", new SqlValueType(SqlType.VarChar)); t.CreateColumn("ReasonType", new SqlValueType(SqlType.VarChar)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["HumanResources"].CreateTable("Department"); t.CreateColumn("DepartmentID", new SqlValueType(SqlType.Int32)); t.CreateColumn("Name", new SqlValueType(SqlType.VarChar)); t.CreateColumn("GroupName", new SqlValueType(SqlType.VarChar)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Person"].CreateTable("CountryRegion"); t.CreateColumn("CountryRegionCode", new SqlValueType(SqlType.VarChar)); t.CreateColumn("Name", new SqlValueType(SqlType.VarChar)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Production"].CreateTable("Culture"); t.CreateColumn("CultureID", new SqlValueType(SqlType.Int32)); t.CreateColumn("Name", new SqlValueType(SqlType.VarChar)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Sales"].CreateTable("Currency"); t.CreateColumn("CurrencyCode", new SqlValueType(SqlType.VarChar)); t.CreateColumn("Name", new SqlValueType(SqlType.VarChar)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Person"].CreateTable("ContactType"); t.CreateColumn("ContactTypeID", new SqlValueType(SqlType.Int32)); t.CreateColumn("Name", new SqlValueType(SqlType.VarChar)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Sales"].CreateTable("SalesTaxRate"); t.CreateColumn("SalesTaxRateID", new SqlValueType(SqlType.Int32)); t.CreateColumn("StateProvinceID", new SqlValueType(SqlType.Int32)); t.CreateColumn("TaxType", new SqlValueType(SqlType.UInt8)); t.CreateColumn("TaxRate", new SqlValueType("money")); t.CreateColumn("Name", new SqlValueType(SqlType.VarChar)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Production"].CreateTable("Location"); t.CreateColumn("LocationID", new SqlValueType(SqlType.Int32)); t.CreateColumn("Name", new SqlValueType(SqlType.VarChar)); t.CreateColumn("CostRate", new SqlValueType("money")); t.CreateColumn("Availability", new SqlValueType(SqlType.Decimal)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Sales"].CreateTable("SalesTerritory"); t.CreateColumn("TerritoryID", new SqlValueType(SqlType.Int32)); t.CreateColumn("Name", new SqlValueType(SqlType.VarChar)); t.CreateColumn("CountryRegionCode", new SqlValueType(SqlType.VarChar)); t.CreateColumn("Group", new SqlValueType(SqlType.VarChar)); t.CreateColumn("TaxRate", new SqlValueType("money")); t.CreateColumn("SalesYTD", new SqlValueType("money")); t.CreateColumn("SalesLastYear", new SqlValueType("money")); t.CreateColumn("CostYTD", new SqlValueType("money")); t.CreateColumn("CostLastYear", new SqlValueType("money")); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Production"].CreateTable("ScrapReason"); t.CreateColumn("ScrapReasonID", new SqlValueType(SqlType.Int32)); t.CreateColumn("Name", new SqlValueType(SqlType.VarChar)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["HumanResources"].CreateTable("Shift"); t.CreateColumn("ShiftID", new SqlValueType(SqlType.Int32)); t.CreateColumn("Name", new SqlValueType(SqlType.VarChar)); t.CreateColumn("StartTime", new SqlValueType(SqlType.DateTime)); t.CreateColumn("EndTime", new SqlValueType(SqlType.DateTime)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Production"].CreateTable("ProductCategory"); t.CreateColumn("ProductCategoryID", new SqlValueType(SqlType.Int32)); t.CreateColumn("Name", new SqlValueType(SqlType.VarChar)); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Purchasing"].CreateTable("ShipMethod"); t.CreateColumn("ShipMethodID", new SqlValueType(SqlType.Int32)); t.CreateColumn("Name", new SqlValueType(SqlType.VarChar)); t.CreateColumn("ShipBase", new SqlValueType("money")); t.CreateColumn("ShipRate", new SqlValueType("money")); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Sales"].CreateTable("Store"); t.CreateColumn("CustomerID", new SqlValueType(SqlType.Int32)); t.CreateColumn("Name", new SqlValueType(SqlType.VarChar)); t.CreateColumn("SalesPersonID", new SqlValueType(SqlType.Int32)); t.CreateColumn("Demographics", new SqlValueType("xml")); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["Sales"].CreateTable("Individual"); t.CreateColumn("CustomerID", new SqlValueType(SqlType.Int32)); t.CreateColumn("ContactID", new SqlValueType(SqlType.Int32)); t.CreateColumn("Demographics", new SqlValueType("xml")); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); t = Catalog.Schemas["HumanResources"].CreateTable("JobCandidate"); t.CreateColumn("JobCandidateID", new SqlValueType(SqlType.Int32)); t.CreateColumn("EmployeeID", new SqlValueType(SqlType.Int32)); t.CreateColumn("Resume", new SqlValueType("xml")); t.CreateColumn("ModifiedDate", new SqlValueType(SqlType.DateTime)); SqlTableRef e = SqlDml.TableRef(Catalog.Schemas["HumanResources"].Tables["Employee"], "e"); SqlTableRef cRef = SqlDml.TableRef(Catalog.Schemas["Person"].Tables["Contact"], "c"); SqlTableRef ea = SqlDml.TableRef(Catalog.Schemas["HumanResources"].Tables["EmployeeAddress"], "ea"); SqlTableRef a = SqlDml.TableRef(Catalog.Schemas["Person"].Tables["Address"], "a"); SqlTableRef sp = SqlDml.TableRef(Catalog.Schemas["Person"].Tables["StateProvince"], "sp"); SqlTableRef cr = SqlDml.TableRef(Catalog.Schemas["Person"].Tables["CountryRegion"], "cr"); SqlSelect select = SqlDml.Select(e); select.From = select.From.InnerJoin(cRef, cRef["ContactID"] == e["ContactID"]); select.From = select.From.InnerJoin(ea, e["EmployeeID"] == ea["EmployeeID"]); select.From = select.From.InnerJoin(a, ea["AddressID"] == a["AddressID"]); select.From = select.From.InnerJoin(sp, sp["StateProvinceID"] == a["StateProvinceID"]); select.From = select.From.InnerJoin(cr, cr["CountryRegionCode"] == sp["CountryRegionCode"]); select.Columns.AddRange(e["EmployeeID"], cRef["Title"], cRef["FirstName"], cRef["MiddleName"], cRef["LastName"], cRef["Suffix"]); select.Columns.Add(e["Title"], "JobTitle"); select.Columns.AddRange(cRef["Phone"], cRef["EmailAddress"], cRef["EmailPromotion"], a["AddressLine1"], a["AddressLine2"], a["City"]); select.Columns.Add(sp["Name"], "StateProvinceName"); select.Columns.Add(a["PostalCode"]); select.Columns.Add(cr["Name"], "CountryRegionName"); select.Columns.Add(cRef["AdditionalContactInfo"]); //SqlDriver mssqlDriver = new MssqlDriver(new MssqlVersionInfo(new Version())); //v = Catalog.Schemas["HumanResources"].CreateView("vEmployee", // Sql.Native(mssqlDriver.Compile(select).CommandText)); // bmp.Save(model); }
public override void TestFixtureSetUp() { base.TestFixtureSetUp(); driver = TestSqlDriver.Create(DomainConfigurationFactory.Create().ConnectionInfo); }