0

当我在 VS2008 中使用 EF 3.5 运行以下查询时,出现错误:

Result consisted of more than one row

var drivers = _context.Persons
                          .Where(x => x.client == client)
                          .Select(x => new { x.first_name, 
                                             x.middle_name, 
                                             x.last_name, 
                                             x.person_no})
                          .ToList();

我不确定是什么导致了这个错误。例如,当我在 VS 之外运行它时,我在 Linpad 中运行它,它运行良好。

我在数据库中有 5 列:first_namemiddle_namelast_nameperson_noorder_no

当我使用 as null 执行上述查询时order_no,它可以工作,但是当我将数据放入时order_no,它会因错误而失败,我什至没有带回来order_no,所以这让我感到困惑。

4

1 回答 1

0

代码很好。我在幕后执行了 sql,在这种情况下,一个函数将根据 person_no 获取名称,并且该函数返回多行,因为 person_no 不是唯一的。所以我有这样的事情:

select 
    fnName(person_no),
    first_name,
    middle_name,
    last_name,
    person_no,
from
    Persons

在上面,fnName返回不止一行。

于 2013-05-24T15:59:42.520 回答