0

我有以下查询:

    tblVAL tblval = db.tblVALs.Where(p => p.PID == pid);

请注意,我希望获得应返回的项目列表。tblVAL 是实体框架中的一个表。请注意,我需要一份要退回的物品清单,因为退回的物品可能超过 1 件。因此,我不想使用 First() 等。

我收到以下消息

无法将类型“System.Linq.IQuerable”隐式转换为 wa.Models.tblVAL。存在隐式转换(您是否缺少演员表?)

4

2 回答 2

1

您的查询正在返回一个集合。您需要调用SingleOrDefaultSingleFirstFirstOrDefault来获取一条记录。

tblVAL tblval = db.tblVALs.Where(p => p.PID == pid).SingleOrDefault();

如果您想要一个集合,请将您的变量类型更改为一个集合:

IEnumerable<tblVAL> tblval = db.tblVALs.Where(p => p.PID == pid);

您还可以调用ToList强制执行查询:

List<tblVAL> tblval = db.tblVALs.Where(p => p.PID == pid).ToList();
于 2012-06-13T16:35:31.217 回答
0

如果你能得到很多结果,那么简单的事情就是调用 ToList。

熟悉 linq 的方法,System.Linq.Enumerable您将成为 linq 的专家。

于 2012-06-13T18:03:57.047 回答