我有以下查询:
tblVAL tblval = db.tblVALs.Where(p => p.PID == pid);
请注意,我希望获得应返回的项目列表。tblVAL 是实体框架中的一个表。请注意,我需要一份要退回的物品清单,因为退回的物品可能超过 1 件。因此,我不想使用 First() 等。
我收到以下消息
无法将类型“System.Linq.IQuerable”隐式转换为 wa.Models.tblVAL。存在隐式转换(您是否缺少演员表?)
我有以下查询:
tblVAL tblval = db.tblVALs.Where(p => p.PID == pid);
请注意,我希望获得应返回的项目列表。tblVAL 是实体框架中的一个表。请注意,我需要一份要退回的物品清单,因为退回的物品可能超过 1 件。因此,我不想使用 First() 等。
我收到以下消息
无法将类型“System.Linq.IQuerable”隐式转换为 wa.Models.tblVAL。存在隐式转换(您是否缺少演员表?)
您的查询正在返回一个集合。您需要调用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();
如果你能得到很多结果,那么简单的事情就是调用 ToList。
熟悉 linq 的方法,System.Linq.Enumerable
您将成为 linq 的专家。