Restructure query to avoid extra database access.

This commit is contained in:
Patrick Barron 2020-07-22 15:21:50 -04:00
parent 8a9ec7809f
commit 5f67ba4d70

View File

@ -1,4 +1,6 @@
using System;
#pragma warning disable CA1307
using System;
using System.Linq;
using Jellyfin.Data.Entities;
using MediaBrowser.Controller;
@ -26,14 +28,15 @@ namespace Jellyfin.Server.Implementations.Users
public DisplayPreferences GetDisplayPreferences(Guid userId, string client)
{
using var dbContext = _dbProvider.CreateContext();
var user = dbContext.Users.Find(userId);
#pragma warning disable CA1307
var prefs = user.DisplayPreferences.FirstOrDefault(pref => string.Equals(pref.Client, client));
var prefs = dbContext.DisplayPreferences
.Include(pref => pref.HomeSections)
.FirstOrDefault(pref =>
pref.UserId == userId && pref.ItemId == null && string.Equals(pref.Client, client));
if (prefs == null)
{
prefs = new DisplayPreferences(client, userId);
user.DisplayPreferences.Add(prefs);
dbContext.DisplayPreferences.Add(prefs);
}
return prefs;