我有以下查询:
tblVAL tblval = db.tblVALs.Where(p => p.PID == pid);
请注意,我希望获得应该返回的项目列表。 tblVAL是实体框架中的一个表。请注意,我需要返回一个项目列表,因为这些项目可以返回超过1个项目。因此,我不想使用First()等
我收到以下消息
无法将类型'System.Linq.IQuerable'隐式转换为wa.Models.tblVAL'。存在隐式转换(您是否错过了演员?)
答案 0 :(得分:1)
您的查询正在返回一个集合。您需要致电SingleOrDefault
,Single
,First
或FirstOrDefault
以获取单条记录。
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();
答案 1 :(得分:0)
如果你能得到很多结果,那么简单的做法是调用ToList。
熟悉System.Linq.Enumerable
的方法,您将成为linq的专家。