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
Vb.net 具有连接和排序依据的Linq_Vb.net_Linq_Join_Sql Order By - Fatal编程技术网

Vb.net 具有连接和排序依据的Linq

Vb.net 具有连接和排序依据的Linq,vb.net,linq,join,sql-order-by,Vb.net,Linq,Join,Sql Order By,我有一个问题似乎根本不尊重我的ORDERBY条款 有人能帮我解决这个问题吗 Dim Result = ((From z As lnkCategorySubCategory In dbContext.lnkCategorySubCategories Join x As SubItem In dbContext.SubItems On x.Id Equals z.CategoryId Join p As lnkItem

我有一个问题似乎根本不尊重我的ORDERBY条款

有人能帮我解决这个问题吗

   Dim Result = ((From z As lnkCategorySubCategory In dbContext.lnkCategorySubCategories
                   Join x As SubItem In dbContext.SubItems On x.Id Equals z.CategoryId
                   Join p As lnkItemsCategory In dbContext.lnkItemsCategories On z.CategoryId Equals p.ItemCategoryId
                   Order By z.IsHeadColumn Descending
                   Order By z.Order Descending
                   Select x.Name)).Distinct

没有更多的信息,我无法告诉你是什么导致了你的问题。然而,如果我要胡乱猜测,我建议你改变这一点:

Order By z.IsHeadColumn Descending
Order By z.Order Descending
为此:

Order By z.IsHeadColumn, z.Order descending

我觉得orderby z.IsHeadColumn descending,z.Order descending应该可以用

这里的问题是我没有选择我选择的列,所以我需要写一些类似的东西来解决这个问题

  Dim Result = ((From z As lnkCategorySubCategory In dbContext.lnkCategorySubCategories
                       Join x As SubItem In dbContext.SubItems On x.Id Equals z.CategoryId
                       Join h As lnkSubItemImageLink In dbContext.lnkSubItemImageLinks On x.Id Equals h.SubItemId
                       Join p As lnkItemsCategory In dbContext.lnkItemsCategories On z.CategoryId Equals p.ItemCategoryId
                       Select x.Name, h.ImageLink, z.IsHeadColumn, z.Order)).Distinct.OrderByDescending(
                       Function(u) u.IsHeadColumn).ThenBy(Function(j) j.Order).ToDictionary(Function(x) x.Name, Function(h) h.ImageLink)

显示一个示例,显示结果当前的外观,另一个示例显示结果应如何排序。我将此作为单独的答案添加的唯一原因是,考虑到这是一个syntaxI目前无法投票的查询,我想知道Order By将如何编译。现在我已经发布了,让我补充这么多,您可以使用带有方法语法的ThenBy extn方法。另一件事我觉得是连接看起来不正确。不应该是“将x作为dbContext.SubItems中的子项连接到x.CategoryId等于z.Id”吗?您在这里进行排序的方式是正确的,我在那里也没有问题,我的问题是“没有选择”我正在执行“OrderBy On”的那些列,请查看我的答案以了解更多信息。感谢您抽出时间对此作出回应。