public void StringForeignKeyNotNullWorks() { var ting = new EntityReferencingEntityWithPrimaryKey(); ting.GetType().GetField("EntityWithStringPrimaryKeyId").SetValue(ting, "123"); Assert.Equal("123", ting.EntityWithStringPrimaryKey.Id); }
public void SetToNullOnNonFetchedButNotNullStringPkProperty() { var check = new EntityReferencingEntityWithPrimaryKey(); check.GetType().GetField("EntityWithStringPrimaryKeyId").SetValue(check, "Foo"); Assert.Equal("Foo", check.EntityWithStringPrimaryKey.Id); var ting = new EntityReferencingEntityWithPrimaryKey(); var tingAsTracked = (ITrackedEntity)ting; ting.GetType().GetField("EntityWithStringPrimaryKeyId").SetValue(ting, "Foo"); tingAsTracked.EnableTracking(); ting.EntityWithStringPrimaryKey = null; Assert.Equal(1, tingAsTracked.GetDirtyProperties().Count()); Assert.True(tingAsTracked.GetDirtyProperties().First() == "EntityWithStringPrimaryKey"); Assert.Equal("Foo", ((EntityWithStringPrimaryKey)tingAsTracked.GetOldValue("EntityWithStringPrimaryKey")).Id); }