微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Linq查询仅返回1行

如何解决Linq查询仅返回1行

|
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.type,b.etc,c.etc,d.etc
我收到了system.outofmemory异常!     

解决方法

当所有联接都匹配时,您只会产生一行-换句话说,当
Model
中有一行带有AP,选项,对话和发票时。我的猜测是只有其中之一。 LINQ默认情况下进行内部联接。如果要查找左外部联接(即特定行可能没有发票或对话等),则需要使用组联接,通常与
DefaultIfEmpty
配合使用。 我对VB语法并不特别热衷,但是本文似乎是您所追求的。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。