mirror of
https://github.com/osukey/osukey.git
synced 2025-05-29 17:37:23 +09:00
rephrased description of local context checking
This commit is contained in:
parent
1dcbfab18e
commit
95955d68ef
@ -34,12 +34,14 @@ namespace osu.Game.Beatmaps
|
|||||||
|
|
||||||
foreach (var beatmap in beatmapSet.Beatmaps.Where(b => b.Metadata != null))
|
foreach (var beatmap in beatmapSet.Beatmaps.Where(b => b.Metadata != null))
|
||||||
{
|
{
|
||||||
// check local context for metadata so we can reuse duplicates from the same set
|
// If we detect a new metadata object it'll be attached to the current context so it can be reused
|
||||||
|
// to prevent duplicate entries when persisting. To accomplish this we look in the cache (.Local)
|
||||||
|
// of the corresponding table (.Set<BeatmapMetadata>()) for matching entries to our criteria.
|
||||||
var contextMetadata = context.Set<BeatmapMetadata>().Local.SingleOrDefault(e => e.Equals(beatmap.Metadata));
|
var contextMetadata = context.Set<BeatmapMetadata>().Local.SingleOrDefault(e => e.Equals(beatmap.Metadata));
|
||||||
if (contextMetadata != null)
|
if (contextMetadata != null)
|
||||||
beatmap.Metadata = contextMetadata;
|
beatmap.Metadata = contextMetadata;
|
||||||
else
|
else
|
||||||
context.BeatmapMetadata.Attach(beatmap.Metadata); // adding new to context
|
context.BeatmapMetadata.Attach(beatmap.Metadata);
|
||||||
}
|
}
|
||||||
|
|
||||||
context.BeatmapSetInfo.Attach(beatmapSet);
|
context.BeatmapSetInfo.Attach(beatmapSet);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user