在呼叫联接中键入干扰

  • 本文关键字:干扰 呼叫 c# linq
  • 更新时间 :
  • 英文 :


我构建了一个简短而甜蜜的连接查询,试图了解如何创建连接。我设法在SQL中做到了这一点。但我不确定如何在 LINQ 中做到这一点。

林克:

public IQueryable<DepartmentBreakdownReport> GetDepartmentBreakdown
    (int SupplierID, int ReviewPeriodID)
{
    return (from detail in camOnlineDb.Details
            join suppDepp in camOnlineDb.SuppDepts
                on new { detail.ClientID, detail.CategoryID }
            equals new { suppDepp.ClientID, suppDepp.CategoryID }
            select detail.ClientID + "" + detail.CategoryID);
}

编辑:忽略引入的参数,一旦我的加入工作,我将迎合这些参数。

您返回的是IQueryable<string>,而不是我假设您想要的是IQueryable<DepartmentBreakdownReport>。若要返回该类型,需要通过指定类型在select中进行投影,如下所示:

return (from detail in camOnlineDb.Details
        join suppDepp in camOnlineDb.SuppDepts
            on new { detail.ClientID, detail.CategoryID }
        equals new { suppDepp.ClientID, suppDepp.CategoryID }
        select new DepartmentBreakdownReport
        {
            Property1 = detail.Property1,
            //your properties here
        });

问题是类别 ID 在详细信息中可为空,但在 suppDepp 中不可空。

为了修复它,我将其从不可为空的类型更改为不可空的类型

相关内容

  • 没有找到相关文章

最新更新