Example #1
0
        public void TestSqlConnectionUpdateForImmutableViaPrimaryKey()
        {
            // Setup
            var entity = Helper.CreateIdentityTable();

            using (var connection = new SqlConnection(Database.ConnectionStringForRepoDb))
            {
                // Act
                connection.Insert <IdentityTable>(entity);

                // Setup
                var newEntity = new ImmutableIdentityTable(entity.Id,
                                                           entity.RowGuid,
                                                           false,
                                                           entity.ColumnDateTime,
                                                           DateTime.UtcNow,
                                                           entity.ColumnDecimal,
                                                           entity.ColumnFloat,
                                                           entity.ColumnInt,
                                                           entity.ColumnNVarChar);

                // Act
                var updateResult = connection.Update <ImmutableIdentityTable>(newEntity, newEntity.Id);

                // Assert
                Assert.IsTrue(updateResult > 0);

                // Act
                var queryResult = connection.Query <IdentityTable>(newEntity.Id).FirstOrDefault();

                // Assert
                Assert.IsNotNull(queryResult);
                Helper.AssertPropertiesEquality(newEntity, queryResult);
            }
        }
Example #2
0
        public void TestSqlConnectionMergeForImmutableWithNonEmptyTable()
        {
            // Setup
            var entity = Helper.CreateIdentityTable();

            using (var connection = new SqlConnection(Database.ConnectionStringForRepoDb))
            {
                // Act
                var insertResult = connection.Insert <IdentityTable, long>(entity);

                // Setup
                var newEntity = new ImmutableIdentityTable(insertResult,
                                                           entity.RowGuid,
                                                           false,
                                                           entity.ColumnDateTime,
                                                           DateTime.UtcNow,
                                                           entity.ColumnDecimal,
                                                           entity.ColumnFloat,
                                                           entity.ColumnInt,
                                                           entity.ColumnNVarChar);

                // Act
                var mergeResult = connection.Merge <ImmutableIdentityTable, long>(newEntity);

                // The ID could not be set back to the entities, so it should be 0

                // Assert
                Assert.IsTrue(mergeResult > 0);
                Assert.AreEqual(insertResult, mergeResult);

                // Act
                var queryResult = connection.Query <ImmutableIdentityTable>(newEntity.Id).FirstOrDefault();

                // Assert
                Helper.AssertPropertiesEquality(newEntity, queryResult);
            }
        }