Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何实现左外连接linq动态(linq.dynamic.core)_C#_Linq_Entity Framework Core_Linq To Entities - Fatal编程技术网

C# 如何实现左外连接linq动态(linq.dynamic.core)

C# 如何实现左外连接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,

我正试图与linq dynamic一起工作, 我的想法是,我需要使用group join和select many, 因此,我认为我需要将下面的示例转换为linq dynamic,但我无法获得正确的语法

请帮助将此linq代码转换为动态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   
  });

感谢

创建/使用导航属性并忘记连接。感谢,不幸的是,这两个表没有关系,因此就我所知,这不是一个选项。您的linq是否与内存中的表一起工作?此linq工作正常,并产生左外连接结果,可以简化为linq,但是我使用了GroupJoin+SelectMany格式,因为每个人都说这是使用动态Linq的唯一方法,但是没有找到一个合适的例子来说明如何使用动态Linq