#c# #linq #entity-framework-core #linq-to-entities
#c# #linq #entity-framework-core #linq-to-entities
Вопрос:
Я пытаюсь заставить left outer join работать с linq dynamic, идеи, которые я получил, заключаются в том, что мне нужно использовать групповое объединение с select many, поэтому я думаю, что мне нужно перевести следующий пример в linq dynamic, но я не могу получить правильный синтаксис
пожалуйста, помогите перевести этот код linq в Dynamic Linq
db.Categories
.GroupJoin(db.Products,
Category => Category.CategoryId,
Product => Product.CategoryId,
(x, y) => new { Category = x, Products = y })
.SelectMany(
xy => xy.Products.DefaultIfEmpty(),
(x, y) => new { Category = x.Category, Product = y })
.Select(s => new
{
CategoryName = s.Category.Name,
ProductName = s.Product.Name
});
Спасибо
Комментарии:
1. Создайте / используйте свойства навигации и забудьте о соединениях.
2. Спасибо, к сожалению, две таблицы не связаны, поэтому, насколько я знаю, это не вариант
3. Работает ли ваш linq с таблицами в памяти?
4. Этот linq отлично работает и выдает результат left outer join, его можно упростить как linq, но я поместил этот формат GroupJoin SelectMany, потому что eveybody говорит, что это единственный способ, которым он может работать с Dynamic Linq, но не нашел подходящего примера о том, как это сделать с Dynamic Linq