我编写了以下编译查询:
public static Func < Modal.Entities, string, IQueryable < Modal.Staff > >
MyQuery = CompiledQuery.Compile((Modal.Entities U, string StaffNo) => U.Staff.Where(a => a.StaffNo == StaffNo));
并使用以下语句来调用已编译的查询:
Modal.Staff abc = MyQuery(context, StaffNo);
但是我收到了以下错误:
无法将类型'System.Linq.IQueryable'隐式转换为'Modal.Staff'。存在显式转换(您是否错过了演员?)
有人能帮助我吗?
答案 0 :(得分:1)
您的查询返回System.Linq.IQueryable,但您尝试将其分配给Modal.Staff。更改您的查询以返回单个结果:
MyQuery = CompiledQuery.Compile((Modal.Entities U, string StaffNo) =>
U.Staff.Where(a => a.StaffNo == StaffNo).FirstOrDefault());