【问题标题】:Convert SQL Command to lambda expression将 SQL 命令转换为 lambda 表达式
【发布时间】:2019-08-07 09:50:18
【问题描述】:

如果可能,请指导我如何将我的 SQL 命令转换为 lambda 表达式

select d.* from takcontractdet d where d.contractid=pubcontractid and d.personid in
(
select p.id from personel p where p.parentid=pubparentid)
)

【问题讨论】:

  • 你至少需要开始做这件事,这恐怕不是代码编写服务。

标签: entity-framework linq lambda


【解决方案1】:

两个查询

var personelIds = Personels.Where(p => p.ParentId == pubparentid)
                                   .Select(e => e.Id).ToList();

var result = Takcontractdets.Where(d => d.contractid == pubcontractid && 
             personelIds.Contains(d.PersonId)).ToList();

一个查询

var result = Takcontractdets.Where(d => d.contractid == pubcontractid && 
             Personels.Where(p => p.ParentId == pubparentid)
                      .Select(e => e.Id).ToList().Contains(d.PersonId))
             .ToList();

【讨论】:

    猜你喜欢
    • 2019-05-16
    • 1970-01-01
    • 2017-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-14
    • 2020-10-25
    • 1970-01-01
    相关资源
    最近更新 更多