C# 如何实现左外连接linq动态(linq.dynamic.core)
我正试图与linq dynamic一起工作, 我的想法是,我需要使用group join和select many, 因此,我认为我需要将下面的示例转换为linq dynamic,但我无法获得正确的语法 请帮助将此linq代码转换为动态linqC# 如何实现左外连接linq动态(linq.dynamic.core),c#,linq,entity-framework-core,linq-to-entities,C#,Linq,Entity Framework Core,Linq To Entities,我正试图与linq dynamic一起工作, 我的想法是,我需要使用group join和select many, 因此,我认为我需要将下面的示例转换为linq dynamic,但我无法获得正确的语法 请帮助将此linq代码转换为动态linq db.Categories .GroupJoin(db.Products, Category => Category.CategoryId, Product => Product.CategoryId,
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
});
感谢创建/使用导航属性并忘记连接。感谢,不幸的是,这两个表没有关系,因此就我所知,这不是一个选项。您的linq是否与内存中的表一起工作?此linq工作正常,并产生左外连接结果,可以简化为linq,但是我使用了GroupJoin+SelectMany格式,因为每个人都说这是使用动态Linq的唯一方法,但是没有找到一个合适的例子来说明如何使用动态Linq