Я работаю над сжатием двух запросов linq в один запрос. В основном, я пытаюсь достичь следующего запроса, чтобы получить всю информацию, связанную с пользователем, независимо от того, имеют ли они какие-либо заказы или нет.Linq to Entities left join return 0 записей
Поскольку я написал запрос в настоящее время, он работает отлично, если существует хотя бы один заказ для идентификатора пользователя, который я перехожу в метод.
Это мое понимание, что .DefaultIfEmpty()
является эквивалентом linq SQL-левого соединения, однако следующий запрос возвращает 0
записей для любого пользователя, который еще не разместил заказ.
Запросы
var orders = (from u in db.people where u.id == UserId
join o in db.product_transactions.DefaultIfEmpty() on u.id equals o.user_id
join sta in db.order_statuses.DefaultIfEmpty() on o.order_status equals sta.id
join ship in db.shipping_types.DefaultIfEmpty() on o.shipping_type equals ship.shipping_id
select new { o, u, sta, ship }).ToList();