使用 LINQ 的临时表

网络开发

我有创建临时表的 SQL,稍后将其用于进一步的 SELECT

; WITH tblOrder AS
                (
                SELECT ROW_NUMBER() OVER(ORDER BY I.IsHead DESC, I.InsureeID ASC) AS RowNo, I.InsureeID FROM tblInsuree I
                INNER JOIN(SELECT FamilyID FROM tblInsuree WHERE ValidityTo IS NULL AND CHFID = 1111 AND IsHead = 1) H ON H.FamilyID=I.FamilyID
                WHERE I.ValidityTo IS NULL 
                )

                SELECT I.CHFID InsuranceNumber, I.OtherNames, I.LastName, I.DOB BirthDate, I.Gender, F.Poverty PoveryStatus, C.ConfirmationTypeCode ConfirmationType, F.ConfirmationNo ConfirmationNo, F.FamilyAddress PermanentAddress, I.Marital MaritalStatus, I.CardIssued BeneficiaryCard, l.LocationCode CurrentVillageCode, I.CurrentAddress CurrentAddress, P.Profession, I.Education, I.Phone PhoneNumber, I.Email, I.TypeOfId IdentificationType, I.passport IdentificationNumber, HF.HFCode FSPCode  FROM tblInsuree I
                INNER JOIN tblOrder O ON O.InsureeID = I.InsureeID
                INNER JOIN tblFamilies F ON F.FamilyID = I.FamilyID
                LEFT OUTER JOIN tblLocations L ON L.LocationId = F.LocationId
                LEFT OUTER JOIN tblConfirmationTypes C ON C.ConfirmationTypeCode = F.ConfirmationType
                LEFT OUTER JOIN tblFamilyTypes G ON G.FamilyTypeCode= F.FamilyType
                LEFT OUTER JOIN tblProfessions P ON P.ProfessionId= I.Profession
                LEFT OUTER JOIN tblHF HF ON HF.HfID= I.HFID
                WHERE
                O.RowNo = 1
                AND F.ValidityTo IS NULL
                AND I.ValidityTo IS NULL
                AND L.ValidityTo IS NULL
                AND HF.ValidityTo IS NULL

我想用 LINQ 替换代码

; WITH tblOrder AS
                (
                SELECT ROW_NUMBER() OVER(ORDER BY I.IsHead DESC, I.InsureeID ASC) AS RowNo, I.InsureeID FROM tblInsuree I
                INNER JOIN(SELECT FamilyID FROM tblInsuree WHERE ValidityTo IS NULL AND CHFID = 1111 AND IsHead = 1) H ON H.FamilyID=I.FamilyID
                WHERE I.ValidityTo IS NULL 
                )

您如何将这部分代码转移到 LINQ,然后再与其余部分一起使用?

雷纳特

看起来这可能有效:

   var tblOrder = (from I in dbContext.tblInsuree
                      join H in dbContext.tblInsuree.Where(a => a.ValidityTo == null && a.CHFID == 1111 && a.IsHead == 1) on I.FamilyID equals H.FamilyID
                  where I.ValidityTo == null
                  orderby I.IsHead descending, I.InsureeID
                  select I.InsureeID)
                      .ToArray()
                      .Select((InsureeID, RowNo) => new {RowNo = RowNo + 1, InsureeID })
                      .ToArray();

根据@NetDev 的评论编辑

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Transact sql的临时表

来自分类Dev

使用linq更新表

来自分类Dev

CakePHP:创建临时表并使用它

来自分类常见问题

使用查询将数据插入临时表

来自分类Dev

使用临时表上的功能检查约束

来自分类Dev

如何使用Oracle全局临时表?

来自分类Dev

从Excel运行的SQL无法使用临时表

来自分类Dev

如何使用PetaPoco创建临时表?

来自分类Dev

优化查询以避免使用临时表

来自分类Dev

使用临时表的Oracle存储过程

来自分类Dev

在SSIS流中使用临时表失败

来自分类Dev

如何在foreachBatch中使用临时表?

来自分类Dev

在插入到临时表中使用subselect

来自分类Dev

使用条件条件创建临时表

来自分类Dev

如何使用Oracle全局临时表?

来自分类Dev

优化查询以避免使用临时表

来自分类Dev

CakePHP:创建临时表并使用它

来自分类Dev

使用临时表的Oracle存储过程

来自分类Dev

在临时表中使用where子句

来自分类Dev

在SSIS流中使用临时表失败

来自分类Dev

使用GROUP BY在TRIGGER中创建临时表

来自分类Dev

SQL - 使用 IF THEN ELSE 创建临时表

来自分类Dev

使用 For 循环遍历 PostgreSQL 中的临时表

来自分类Dev

什么时候使用临时表空间?

来自分类Dev

对我的临时表使用的 SQL 逻辑问题

来自分类Dev

使用Linq的数据透视表

来自分类Dev

使用 LINQ 过滤产品表

来自分类Dev

使用 Linq 过滤表数据

来自分类Dev

Oracle PL / SQL表的内存使用与临时表