【发布时间】:2011-05-23 12:35:28
【问题描述】:
Dim ds = From a In db.Model
Join b In db.1 On a.id Equals b.ID
Join c In db.2 On a.id Equals c.ID
Join d In db.3 On a.id Equals d.ID
Join f In db.4 On a.id Equals f.ID
Select a.id, a.Ref, a.Type, a.etc
以上是我的 linq 查询。目前,当当前有 60 行时,我只从返回的数据库中获取第一行。请你告诉我哪里出错以及如何选择所有记录。
提前致谢!
更新:
当我像这样取出所有连接时:
Dim ds = From a In db.1, b In db.2, c In db.3, d In db.4, f In db.5
Select a.id, a.Ref, a.type, b.etc, c.etc, d.etc
我得到一个 system.outofmemory 异常!
【问题讨论】:
-
你是如何使用查询结果的?
-
我绑定到一个gridview,然后导出到xls
-
如果你运行相应的 SQL(包含所有的连接),你会得到所有 60 行吗?
-
那么,您有 60 个“a”行,每个行至少由“b”、“c”、“d”和“f”中的一行引用?
-
Akram,我有 60 行。根据用户的选择,它们可能有也可能没有 b、c、d、f 行