Linq查询加入显示错误

使用Join in Linq query时,出现此错误。

这是我得到的错误。


  无法将类型'System.Linq.IQueryable '隐式转换为'System.Linq.IQueryable ''。存在显式转换(您是否缺少类型转换?)


这是我的代码

var job = from jx in bc.db.jobxml
      join jad in bc.db.Job_Agent_Details on jx.agent_id equals jad.Id
      orderby jx.id
      select new
      {
        jx.jobtitle,
        jx.jobrole,
        jx.jobhour,
        jx.companyname,
        jx.jobposition,
        jx.location,
        jx.closedate,
        jx.jobdescription
      };

最佳答案

由于您没有向我们展示此代码所在的上下文,因此我猜想job变量在其他地方(作为返回变量?)被期望使用IQueryable<jobxml>的东西使用。

select中,您将创建匿名类型的IQueryable,但是您可以将其更改为jobxml,如下所示:

var job = from jx in bc.db.jobxml
          join jad in bc.db.Job_Agent_Details on jx.agent_id equals jad.Id
          orderby jx.id
          select new jobxml //<-- This is the important change
          {
              //snip
          };

09-06 04:56