Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将下面的SQL查询转换为Lambda表达式?_C#_Sql_Sql Server_Linq_Lambda - Fatal编程技术网

C# 如何将下面的SQL查询转换为Lambda表达式?

C# 如何将下面的SQL查询转换为Lambda表达式?,c#,sql,sql-server,linq,lambda,C#,Sql,Sql Server,Linq,Lambda,我有一个下面的SQL查询,我已经将其转换为Linq,不知道如何将该查询转换为Lambda表达式 SQL 选择BP* 来自[ams].[BackgroundPackage]作为BP 内部连接[ams].[BkgPackageHierarchyMapping]作为BPHM 在BP.BPA_ID=BPHM.BPHM_BackgroundPackageID上 内部连接[ams].[BkgOrderPackage]作为BOP 在BPHM.BPHM_ID=BOP.BOP_BkgPackageHierarch

我有一个下面的SQL查询,我已经将其转换为Linq,不知道如何将该查询转换为Lambda表达式

SQL

选择BP*
来自[ams].[BackgroundPackage]作为BP
内部连接[ams].[BkgPackageHierarchyMapping]作为BPHM
在BP.BPA_ID=BPHM.BPHM_BackgroundPackageID上
内部连接[ams].[BkgOrderPackage]作为BOP
在BPHM.BPHM_ID=BOP.BOP_BkgPackageHierarchyMappingID上
内部连接[ams].[BkgOrder]作为BOP.BOP\U BkgOrderID=BO.BOR\U ID上的BO
其中BO.BOR_MasterOrderID=@OrderID
BO.BOR_被删除=0
Lambda版本 //如何编写上述查询的lambda版本

Linq版本

var packageData =
    (from ep in _dbContext.BackgroundPackages
     join e in _dbContext.BkgPackageHierarchyMappings on ep.BPA_ID equals e.BPHM_BackgroundPackageID
     join t in _dbContext.BkgOrderPackages on e.BPHM_ID equals t.BOP_BkgPackageHierarchyMappingID
     join s in _dbContext.BkgOrders on t.BOP_BkgOrderID equals s.BOR_ID
     where s.BOR_MasterOrderID == orderId
     select new
            {
                Id = ep.BPA_ID,
                Name = ep.BPA_Name,
            });
SQL的lambda查询(简明表示法)是:

var lambdaQuery = _dbContext.BackgroundPackages
    .Join(_dbContext.BkgPackageHierarchyMappings, ep => ep.BPA_ID, e => e.BPHM_BackgroundPackageID, (ep, e) => ep)
    .Join(_dbContext.BkgOrderPackages, ep => ep.BPHM_ID, t => t.BOP_BkgPackageHierarchyMappingID, (ep, t) => new { ep, t})
    .Join(_dbContext.BkgOrders, ept => ept.t.BOP_BkgOrderID, s => s.BOR_ID, (ept, s) => new { ept.ep, s })
    .Where(eps => eps.s.BOR_MasterOrderID  == orderId && eps.s.BOR_IsDeleted == 0)
    .Select(eps => eps.ep);

有什么问题吗?看起来很漂亮close@PreetSangha抱歉,如果这个答案冒犯了你,我只是想回答这个问题,因为Neon-X正在寻找一个lambda查询。(与查询表示法相反的简明表示法)删除了-1,现在它得到了改进。