0

我正在通过 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 查询字符串具有正确的编号并且记录存在,因此我无法弄清楚它为什么不返回记录。

4

1 回答 1

1

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

于 2012-04-07T19:14:32.027 回答