【问题标题】:Linq To Objects Outer JoinLinq 到对象外连接
【发布时间】:2010-03-10 16:59:30
【问题描述】:

我正在尝试使用 LINQ 来查询 Objets。我正在执行以下操作:

Dim myList As Generic.List(Of MyItem) = (From ThisItem In LinqToSqlObject.Items _
                                         Join Folder In LinqToSqlObject.Folders _
                                         On Folder.Id Equals Item.Id _
                                         Join thisParentItem As Item In LinqToSqlObject.Items _
                                         On thisParentItem.Id Equals Item.ItemId _
                                         Select New MyItem With {.ItemName = Item.Name, _
                                         .ParentItemName = thisParentItem.Name}).ToList

但是,这不会返回任何 ParentItemId 为 null 的项目。 我正在尝试进行左连接以返回所有“项目”,无论它是否有父项。我知道这在 C# 中是可行的,方法是在连接上添加“into X”,并从 X.DefaultIfEmpty() 中进行选择,但这似乎在 VB.Net 中不起作用。

有人知道怎么做吗?

谢谢

【问题讨论】:

标签: c# .net vb.net linq


【解决方案1】:

试试this 例子。

编辑:糟糕,错过了 vb.net 的要求,抱歉。

尝试this answer 回答类似问题。

编辑的编辑(我在滚动)

发布了错误答案的链接,但问题相同。

vb.net 的答案是here

【讨论】:

  • 嗨@Mike,我看过这个(优秀的网站),但正如问题中所述,我知道这在 C# 中是可能的(根据您链接中的代码),但我不能让它在 VB.Net 中工作。
  • @Ben - 抱歉,我确实错过了第一遍。我已经使用基于 vb.net 的链接更新了答案。对此感到抱歉。
  • @Ben,又做了一次,发布了错误的链接。我正在修复它。只是不是我的夜晚。
  • 没问题,我们都经历过那些日子。感谢您的链接,工作完美,@Jdidu 到那里更快一点。
  • @Ben - 不客气。即使您不接受,您仍然可以投票:)
猜你喜欢
  • 2012-04-07
  • 1970-01-01
  • 2015-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-01
  • 2011-08-10
  • 1970-01-01
相关资源
最近更新 更多