gpt4 book ai didi

对 lambda 表达式或 linq 的 SQL 查询

转载 作者:行者123 更新时间:2023-12-04 21:24:56 24 4
gpt4 key购买 nike

如何将以下查询转换为 lambda 表达式

select * 
from Invoice_main
where id not in
(select invoice_main_id from Invoice_payment_by_pay_method)

我找不到“不在”的替代方案。

最佳答案

假设您使用的是 LINQ-to-SQL:

from inv in Invoice_main
where !(from m in Invoice_payment_by_pay_method select m.invoice_main_id).Contains(inv.id)
select inv

!(...).Contains(...) 由 LINQ-to-SQL 自动转换为 NOT EXISTS子句(注意:这比 NOT IN 子句更有效)。

其他提供程序(即不是 LINQ-to-SQL)可能不支持这种重写 .Contains进入 EXISTS所以这可能不适用于所有情况。

关于对 lambda 表达式或 linq 的 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5295224/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com