当对mysql数据库执行linq查询时,结果由多于一行组成
本文关键字:结果 于一行 数据库 mysql 执行 linq 查询 当对 | 更新日期: 2023-09-27 18:15:26
当我在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_name
, middle_name
, last_name
, person_no
和order_no
。
当我执行上述查询与order_no
为空,它的工作,但当我把数据在order_no
,它失败的错误,我甚至没有带回order_no
,所以它是困惑我。
代码没问题。我在后台执行sql,在这种情况下,一个函数将根据person_no获得一个名称,这个函数返回多行,因为person_no不是唯一的。所以我有这样的东西:
select
fnName(person_no),
first_name,
middle_name,
last_name,
person_no,
from
Persons
在上面,fnName
返回不止一行。