コード例 #1
0
ファイル: PropertyValuesTest.cs プロジェクト: n8hartSA/efcore
        public void Should_not_throw_error_when_property_do_not_exist()
        {
            // Arrange
            const string NameValue    = "Simple Name";
            const string NewNameValue = "A New Name";

            using var ctx = new CurrentValuesDb();
            var entity = ctx.SimpleEntities.Add(new SimpleEntity {
                Name = NameValue
            });

            ctx.SaveChanges();

            entity.Entity.Name = NewNameValue;

            // Act
            var current  = entity.CurrentValues.TryGetValue <string>("Non_Existent_Property", out var non_existent_current);
            var original = entity.OriginalValues.TryGetValue <string>("Non_Existent_Property", out var non_existent_original);

            // Assert
            Assert.False(current);
            Assert.False(original);

            Assert.Null(non_existent_current);
            Assert.Null(non_existent_original);
        }
コード例 #2
0
ファイル: PropertyValuesTest.cs プロジェクト: n8hartSA/efcore
        public void Can_safely_get_originalvalue_and_currentvalue_with_tryget()
        {
            // Arrange
            const string NameValue    = "Simple Name";
            const string NewNameValue = "A New Name";

            using var ctx = new CurrentValuesDb();
            var entity = ctx.SimpleEntities.Add(new SimpleEntity {
                Name = NameValue
            });

            ctx.SaveChanges();

            entity.Entity.Name = NewNameValue;

            // Act
            var current  = entity.CurrentValues.TryGetValue <string>("Name", out var currentName);
            var original = entity.OriginalValues.TryGetValue <string>("Name", out var originalName);

            // Assert
            Assert.True(current);
            Assert.True(original);

            Assert.Equal(NameValue, originalName);
            Assert.Equal(NewNameValue, currentName);
        }