无法隐式转换类型'System.Linq.IQueryable

时间:2014-02-10 08:25:35

标签: c# linq

我编写了以下编译查询:

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'。存在显式转换(您是否错过了演员?)

有人能帮助我吗?

1 个答案:

答案 0 :(得分:1)

您的查询返回System.Linq.IQueryable,但您尝试将其分配给Modal.Staff。更改您的查询以返回单个结果:

 MyQuery = CompiledQuery.Compile((Modal.Entities U, string StaffNo) => 
      U.Staff.Where(a => a.StaffNo == StaffNo).FirstOrDefault());