Я пытаюсь создать запрос с ASP. NET Core EF Core и Linq, который выдаст мне список пользователей на основе двух разных списков, что-то вроде этого:
return await _context.Users
.Include(u => u.PropertyOwners)
.ThenInclude(po => po.Property)
.ThenInclude(p => p.PropertyTenantLeases)
.Include(u => u.PropertyOwners)
.ThenInclude(po => po.Owner)
.Where(u => u.Id == userID)
.Select(u => new List<User>()
{
u.PropertyTenantLeases.Select(ptl => ptl.Tenant).ToList()
u.PropertyOwners.Select(po => po.Owner).ToList()
}).FirstOrDefaultAsync();
Таблицы, которые используются в этом запросе, связаны следующим образом:
Все в порядке с этим запросом, за исключением выбора, при выборе которого я пытаюсь добиться, чтобы он возвращал список всех арендаторы в таблице PropertyTenantLeases, которая является объединенной таблицей соединений со всеми владельцами, образуют соединительную таблицу PropertyOwners (и арендатор, и владелец являются классами IdentityUser. При правильном выполнении этого запроса я получаю следующую ошибку:
The best overloeaded Add method 'List<User>.Add(User)' for the collection initializer has some invalid arguments
а также
Argument 1: cannot convert from 'System.Collections.Generic.List<RosyMasterDBManagement.Models.User>' to 'RosyMasterDBManagement.Models.User'