如何将以下查询转换为lambda表达式
select *
from Invoice_main
where id not in
(select invoice_main_id from Invoice_payment_by_pay_method)
Run Code Online (Sandbox Code Playgroud)
我找不到'不在'的替代方案.
假设您正在使用 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
Run Code Online (Sandbox Code Playgroud)
!(...).Contains(...) 由 LINQ-to-SQL 自动转换为子句NOT EXISTS(注意:这比NOT IN子句更有效)。
其他提供程序(即不是 LINQ-to-SQL)可能不支持这种重写,.Contains因此EXISTS这可能不适用于所有情况。
| 归档时间: |
|
| 查看次数: |
735 次 |
| 最近记录: |