|
@@ -15,6 +15,7 @@ using System.Collections.Generic;
|
|
|
using System.IO;
|
|
|
using System.Linq;
|
|
|
using System.Threading.Tasks;
|
|
|
+using MoreLinq;
|
|
|
|
|
|
namespace MediaBrowser.Controller.Dto
|
|
|
{
|
|
@@ -830,8 +831,8 @@ namespace MediaBrowser.Controller.Dto
|
|
|
// Attach People by transforming them into BaseItemPerson (DTO)
|
|
|
dto.People = new BaseItemPerson[people.Count];
|
|
|
|
|
|
- var entities = await Task.WhenAll(people.Select(p => p.Name).Distinct(StringComparer.OrdinalIgnoreCase).Select(c =>
|
|
|
-
|
|
|
+ var entities = await Task.WhenAll(people.Select(p => p.Name)
|
|
|
+ .Distinct(StringComparer.OrdinalIgnoreCase).Select(c =>
|
|
|
Task.Run(async () =>
|
|
|
{
|
|
|
try
|
|
@@ -848,7 +849,7 @@ namespace MediaBrowser.Controller.Dto
|
|
|
)).ConfigureAwait(false);
|
|
|
|
|
|
var dictionary = entities.Where(i => i != null)
|
|
|
- .Distinct()
|
|
|
+ .DistinctBy(i => i.Name)
|
|
|
.ToDictionary(i => i.Name, StringComparer.OrdinalIgnoreCase);
|
|
|
|
|
|
for (var i = 0; i < people.Count; i++)
|
|
@@ -907,7 +908,9 @@ namespace MediaBrowser.Controller.Dto
|
|
|
|
|
|
)).ConfigureAwait(false);
|
|
|
|
|
|
- var dictionary = entities.Where(i => i != null).ToDictionary(i => i.Name, StringComparer.OrdinalIgnoreCase);
|
|
|
+ var dictionary = entities
|
|
|
+ .Where(i => i != null)
|
|
|
+ .ToDictionary(i => i.Name, StringComparer.OrdinalIgnoreCase);
|
|
|
|
|
|
for (var i = 0; i < studios.Count; i++)
|
|
|
{
|