1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-14 21:43:04 +08:00
osu-lazer/osu.Game/Database/EntityFrameworkLive.cs
Dan Balasescu 5e53f51c99
Merge pull request #15812 from peppy/realm-live-unmanaged-fetch-fix
Avoid attempting to fetch a non-managed `RealmLive` instance from the realm backing
2021-11-26 15:37:58 +09:00

42 lines
970 B
C#

// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.
using System;
#nullable enable
namespace osu.Game.Database
{
public class EntityFrameworkLive<T> : ILive<T> where T : class
{
public EntityFrameworkLive(T item)
{
IsManaged = true; // no way to really know.
Value = item;
}
public Guid ID => throw new InvalidOperationException();
public void PerformRead(Action<T> perform)
{
perform(Value);
}
public TReturn PerformRead<TReturn>(Func<T, TReturn> perform)
{
return perform(Value);
}
public void PerformWrite(Action<T> perform)
{
perform(Value);
}
public bool IsManaged { get; }
public T Value { get; }
public bool Equals(ILive<T>? other) => ID == other?.ID;
}
}