Entity Framework загружает данные с помощью лямбды левого соединения - PullRequest
2 голосов
/ 15 апреля 2019

Я хочу загрузить с определенного идентификатора, список включает детали с лямбда.

Я попробовал это с помощью следующего кода:

// Load User Visitor list
var list = await Context.UserVisitors
                        .Where(s => s.UserId.Equals(userOwner.Id))
                        .Select(s => s.UserVisitorId)
                        .ToListAsync();

foreach (var t in list) 
{
     UserOwnerVisitors.Add(await Context.User
                                        .Include(u => u.Details)
                                        .Include(u => u.Settings)
                                        .FirstAsync(u => u.Id.Equals(t)));
}

Код работает, но он не эффективен. Как я могу сделать это в одном запросе с лямбда?

Заранее спасибо.

1 Ответ

0 голосов
/ 15 апреля 2019

Я немного ослеп, потому что я не знаю всех отношений вашей модели, но ниже вы можете найти то, что я считаю вашей моделью, если вы отредактируете свой вопрос, я, возможно, смогу дать вам точный ответ:

var UserOwnerVisitorsList = from uv in Context.UserVisitors
                            join u in Context.User
                            on uv.UserId equals u.Id
                            join det in Context.Details
                            on det.UserId equals u.Id 
                            join set in Context.Settings
                            on set.UserId equals u.UserId
                            where uv.UserId == userOwner.Id
                            select u;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...