From 18331c10214c98423eaea8bfdd3b51a7597bd7ee Mon Sep 17 00:00:00 2001 From: rootdarkarchon Date: Thu, 19 Oct 2023 02:30:06 +0200 Subject: [PATCH] union->concat --- .../Hubs/MareHub.Functions.cs | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/MareSynchronosServer/MareSynchronosServer/Hubs/MareHub.Functions.cs b/MareSynchronosServer/MareSynchronosServer/Hubs/MareHub.Functions.cs index 8415462..79a3785 100644 --- a/MareSynchronosServer/MareSynchronosServer/Hubs/MareHub.Functions.cs +++ b/MareSynchronosServer/MareSynchronosServer/Hubs/MareHub.Functions.cs @@ -276,14 +276,14 @@ public partial class MareHub var result = from user in query.Union(query2) join u in _dbContext.Users on user.OtherUserUID equals u.UID - join o in _dbContext.Permissions - on new { user.UserUID, user.OtherUserUID } - equals new { o.UserUID, o.OtherUserUID } + join o in _dbContext.Permissions.Where(u => u.UserUID == uid) + on new { UserUID = user.UserUID, OtherUserUID = user.OtherUserUID } + equals new { UserUID = o.UserUID, OtherUserUID = o.OtherUserUID } into ownperms from ownperm in ownperms.DefaultIfEmpty() - join p in _dbContext.Permissions + join p in _dbContext.Permissions.Where(u => u.OtherUserUID == uid) on new { UserUID = user.OtherUserUID, OtherUserUID = user.UserUID } - equals new { p.UserUID, p.OtherUserUID } + equals new { UserUID = p.UserUID, OtherUserUID = p.OtherUserUID } into otherperms from otherperm in otherperms.DefaultIfEmpty() select new @@ -314,7 +314,9 @@ public partial class MareHub { var query = _dbContext.ClientPairs.Where(u => u.UserUID == uid) .Join(_dbContext.ClientPairs.Where(u => u.OtherUserUID == uid), - user => user.OtherUserUID, user => user.UserUID, (user, otheruser) => + user => user.OtherUserUID, + user => user.UserUID, + (user, otheruser) => new { UserUID = user.UserUID, @@ -335,14 +337,14 @@ public partial class MareHub Synced = true, }); - var result = from user in query.Union(query2) + var result = from user in query.Concat(query2) join u in _dbContext.Users on user.OtherUserUID equals u.UID - join o in _dbContext.Permissions + join o in _dbContext.Permissions.Where(u => u.UserUID == uid) on new { UserUID = user.UserUID, OtherUserUID = user.OtherUserUID } equals new { UserUID = o.UserUID, OtherUserUID = o.OtherUserUID } into ownperms from ownperm in ownperms.DefaultIfEmpty() - join p in _dbContext.Permissions + join p in _dbContext.Permissions.Where(u => u.OtherUserUID == uid) on new { UserUID = user.OtherUserUID, OtherUserUID = user.UserUID } equals new { UserUID = p.UserUID, OtherUserUID = p.OtherUserUID } into otherperms