1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-12 06:07:28 +08:00
osu-lazer/osu.Game/Database/EntityFrameworkLive.cs
2021-11-26 14:56:16 +09:00

39 lines
874 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)
{
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 T Value { get; }
public bool Equals(ILive<T>? other) => ID == other?.ID;
}
}