public void InsertInstanceQueryForIdentifierStrategySequenceWithInt64Id() { ObjectInfo.MappingConvention = new ConventionMappingConvention( UnitTest.GetConventionMappingSettings(IdentifierStrategy.Sequence)); var customer = new CustomerWithLongId { Created = new DateTime(2011, 12, 24), CreditLimit = 10500.00M, DateOfBirth = new System.DateTime(1975, 9, 18), Name = "Joe Bloggs", Status = CustomerStatus.Active, Updated = DateTime.Now, Website = new Uri("http://microliteorm.wordpress.com") }; var sqlDialect = new MsSql2012Dialect(); var sqlQuery = sqlDialect.BuildInsertSqlQuery(ObjectInfo.For(typeof(CustomerWithLongId)), customer); Assert.Equal("DECLARE @@id bigint;SELECT @@id = NEXT VALUE FOR CustomerWithLongId_Id_Sequence;INSERT INTO [Sales].[CustomerWithLongIds] ([Id],[Created],[CreditLimit],[DateOfBirth],[Name],[CustomerStatusId],[Website]) VALUES (@@id,@p0,@p1,@p2,@p3,@p4,@p5)", sqlQuery.CommandText); Assert.Equal(6, sqlQuery.Arguments.Count); Assert.Equal(DbType.DateTime, sqlQuery.Arguments[0].DbType); Assert.Equal(customer.Created, sqlQuery.Arguments[0].Value); Assert.Equal(DbType.Decimal, sqlQuery.Arguments[1].DbType); Assert.Equal(customer.CreditLimit, sqlQuery.Arguments[1].Value); Assert.Equal(DbType.DateTime, sqlQuery.Arguments[2].DbType); Assert.Equal(customer.DateOfBirth, sqlQuery.Arguments[2].Value); Assert.Equal(DbType.String, sqlQuery.Arguments[3].DbType); Assert.Equal(customer.Name, sqlQuery.Arguments[3].Value); Assert.Equal(DbType.Int32, sqlQuery.Arguments[4].DbType); Assert.Equal((int)customer.Status, sqlQuery.Arguments[4].Value); Assert.Equal(DbType.String, sqlQuery.Arguments[5].DbType); Assert.Equal("http://microliteorm.wordpress.com/", sqlQuery.Arguments[5].Value); }
public void InsertInstanceQueryForIdentifierStrategySequenceWithInt64Id() { ObjectInfo.MappingConvention = new ConventionMappingConvention( UnitTest.GetConventionMappingSettings(IdentifierStrategy.Sequence)); var customer = new CustomerWithLongId { Created = new DateTime(2011, 12, 24), CreditLimit = 10500.00M, DateOfBirth = new System.DateTime(1975, 9, 18), Name = "Joe Bloggs", Status = CustomerStatus.Active, Updated = DateTime.Now, Website = new Uri("http://microliteorm.wordpress.com") }; var sqlDialect = new MsSql2012Dialect(); var sqlQuery = sqlDialect.BuildInsertSqlQuery(ObjectInfo.For(typeof(CustomerWithLongId)), customer); Assert.Equal("DECLARE @@id bigint;SELECT @@id = NEXT VALUE FOR CustomerWithLongId_Id_Sequence;INSERT INTO [Sales].[CustomerWithLongIds] ([Id],[Created],[CreditLimit],[DateOfBirth],[Name],[CustomerStatusId],[Website]) VALUES (@@id,@p0,@p1,@p2,@p3,@p4,@p5)", sqlQuery.CommandText); Assert.Equal(6, sqlQuery.Arguments.Count); Assert.Equal(DbType.DateTime2, sqlQuery.Arguments[0].DbType); Assert.Equal(customer.Created, sqlQuery.Arguments[0].Value); Assert.Equal(DbType.Decimal, sqlQuery.Arguments[1].DbType); Assert.Equal(customer.CreditLimit, sqlQuery.Arguments[1].Value); Assert.Equal(DbType.DateTime2, sqlQuery.Arguments[2].DbType); Assert.Equal(customer.DateOfBirth, sqlQuery.Arguments[2].Value); Assert.Equal(DbType.String, sqlQuery.Arguments[3].DbType); Assert.Equal(customer.Name, sqlQuery.Arguments[3].Value); Assert.Equal(DbType.Int32, sqlQuery.Arguments[4].DbType); Assert.Equal((int)customer.Status, sqlQuery.Arguments[4].Value); Assert.Equal(DbType.String, sqlQuery.Arguments[5].DbType); Assert.Equal("http://microliteorm.wordpress.com/", sqlQuery.Arguments[5].Value); }