Exemplo n.º 1
0
        public void TestSqlConnectionMergeForImmutableWithWritablePropertiesWithNonEmptyTable()
        {
            // Setup
            var entity = Helper.CreateIdentityTable();

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

                // Setup
                var newEntity = new ImmutableWithWritablePropertiesIdentityTable(0,
                                                                                 Guid.NewGuid(),
                                                                                 null,
                                                                                 null,
                                                                                 null,
                                                                                 null,
                                                                                 null,
                                                                                 null,
                                                                                 null)
                {
                    Id              = insertResult,
                    RowGuid         = entity.RowGuid,
                    ColumnBit       = false,
                    ColumnDateTime  = entity.ColumnDateTime,
                    ColumnDateTime2 = DateTime.UtcNow,
                    ColumnDecimal   = entity.ColumnDecimal,
                    ColumnFloat     = entity.ColumnFloat,
                    ColumnInt       = entity.ColumnInt,
                    ColumnNVarChar  = entity.ColumnNVarChar
                };

                // Act
                var mergeResult = connection.Merge <ImmutableWithWritablePropertiesIdentityTable, 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 <ImmutableWithWritablePropertiesIdentityTable>(newEntity.Id).FirstOrDefault();

                // Assert
                Helper.AssertPropertiesEquality(newEntity, queryResult);
            }
        }
Exemplo n.º 2
0
        public void TestSqlConnectionUpdateForImmutableWithWritablePropertiesViaPrimaryKey()
        {
            // Setup
            var entity = Helper.CreateIdentityTable();

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

                // Setup
                var newEntity = new ImmutableWithWritablePropertiesIdentityTable(0,
                                                                                 Guid.NewGuid(),
                                                                                 null,
                                                                                 null,
                                                                                 null,
                                                                                 null,
                                                                                 null,
                                                                                 null,
                                                                                 null)
                {
                    Id              = entity.Id,
                    RowGuid         = entity.RowGuid,
                    ColumnBit       = false,
                    ColumnDateTime  = entity.ColumnDateTime,
                    ColumnDateTime2 = DateTime.UtcNow,
                    ColumnDecimal   = entity.ColumnDecimal,
                    ColumnFloat     = entity.ColumnFloat,
                    ColumnInt       = entity.ColumnInt,
                    ColumnNVarChar  = entity.ColumnNVarChar
                };

                // Act
                var updateResult = connection.Update <ImmutableWithWritablePropertiesIdentityTable>(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);
            }
        }