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); } }
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); } }