sql-server – 什么是LINQ相当于SQL的“IN”关键字

前端之家收集整理的这篇文章主要介绍了sql-server – 什么是LINQ相当于SQL的“IN”关键字前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我怎样才能在 linq中编写下面的SQL查询
select * from Product where ProductTypePartyID IN
(
    select Id from ProductTypeParty where PartyId = 34
)

解决方法

除了语法变化之外,您可以用几乎相同的方式编写它.
from p in ctx.Product
where (from ptp in ctx.ProductTypeParty
       where ptp.PartyId == 34
       select ptp.Id).Contains(p.ProductTypePartyID)
select p

我更喜欢使用存在量词,但是:

from p in ctx.Product
where (from ptp in ctx.ProductTypeParty
       where ptp.PartyId == 34
       && ptp.Id == p.ProductTypePartyID).Any()
select p

我希望这个表单将解析为生成sql中的EXISTS(SELECT * …).

如果性能有很大差异,您需要对两者进行分析.

原文链接:https://www.f2er.com/mssql/74870.html

猜你在找的MsSQL相关文章