【问题标题】:Sequence contains no elements yet Records exist序列不包含任何元素 记录存在
【发布时间】:2012-04-07 19:06:42
【问题描述】:

我正在通过 linq 查询 SQL Azure 数据库。添加新公司时,该站点会重定向用户以显示刚刚添加的公司。它还在查询字符串中提供了一个 ID。

使用的语句是:

var Result = (from d in company.Companies
                          join c in company.originalSources on d.originalSource equals c.ID
                          join f in company.revenues on d.turnover equals f.ID
                          join g in company.recordTypes on d.type equals g.ID
                          where d.ID == Convert.ToInt32(Request.QueryString["ID"])
                          select new { d, c, f, g }).First();

但是它返回的序列不包含任何元素。我使用了断点来确保 ID 查询字符串具有正确的编号并且记录存在,因此我无法弄清楚它为什么不返回记录。

【问题讨论】:

  • 我会查看您的数据源,因为必须有一些条件(join 或 id)导致没有结果。尝试一次删除一个条件以隔离问题

标签: sql linq azure


【解决方案1】:

连接运算符执行内部连接。如果 originalSources/revenues/recordTypes 为空,则不会返回任何结果。通过使用“into”运算符来使用左外连接,如下所述:http://msdn.microsoft.com/en-us/library/bb397895.aspx

【讨论】:

  • 完美,谢谢。上一页未填充其中一个字段。
猜你喜欢
  • 2015-09-04
  • 2015-02-19
  • 1970-01-01
  • 2016-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-26
相关资源
最近更新 更多