Avoid attempting to fetch a non-managed RealmLive instance from the realm backing

For compatibility reasons, we quite often convert completely unmanaged
instances to `ILive`s so they fit the required parameters of a property
or method call. This ensures such cases will not cause any issues when
trying to interact with the underlying data.

Originally I had this allowing write operations, but that seems a bit
unsafe (when performing a write one would assume that the underlying
data is being persisted, whereas in this case it is not). We can change
this if the requirements change in the future, but I think throwing is
the safest bet for now.
This commit is contained in:
Dean Herbert
2021-11-26 14:39:35 +09:00
parent 3bc8f21935
commit 40d1b97af1
4 changed files with 41 additions and 4 deletions

View File

@ -9,6 +9,7 @@ namespace osu.Game.Database
{
public EntityFrameworkLive(T item)
{
IsManaged = true; // no way to really know.
Value = item;
}
@ -29,6 +30,8 @@ namespace osu.Game.Database
perform(Value);
}
public bool IsManaged { get; }
public T Value { get; }
}
}