我想花5到6个小时来了解有关GroupJoin的知识。我说的是用linq查询数据库表。我理解Join和GroupJoin的功能,但是我真的不明白我在哪里需要它。我觉得Join可以满足我的所有需要,但是如果Join可以做到的话'没有GroupJoin,所以我觉得这种情况毫无意义或无用。
例如:
与电话和电话表相关的人表拥有人的外键,一个人可以拥有一个以上的电话号码。如果我们想带所有拥有电话号码但没有太多电话号码的人,那么我们将需要GroupJOin,但是对于我们来说呢?将需要此查询?
您能给我使用GroupJoin的充分理由,示例或启发吗?
最佳答案
从MSDN:
用关系数据库的术语来说,Join实现了内部联接,这是一种联接类型,其中仅返回在其他数据集中具有匹配项的那些对象。 GroupJoin方法在关系数据库方面没有直接等效项,但是它实现了内部联接和左外部联接的超集。
因此,如果您曾经有理由在SQL中使用外部联接,则可能会在Linq中出于类似目的使用GroupJoin。
关于c# - 我无法理解GroupJoin在数据库关系中需要它的地方,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3030265/