在实体框架中选择WHERE IN

时间:2014-10-28 06:34:16

标签: sql entity-framework

我想为此SQL命令编写实体查询:

SELECT * FROM provider WHERE serial 
         NOT IN ( SELECT providerRef as Serial FROM ProviderTeam WHERE TeamRef=134)

我在互联网上搜索但没有回答。

2 个答案:

答案 0 :(得分:1)

您可以将IN子句重写为EXISTS并使用以下linq命令:

var q = from p in dbContext.Providers
        where !dbContext.ProviderTeams.Any(pt => pt.TeamRef == 134 && pt.providerRef == p.serial)
        select p;

答案 1 :(得分:-1)

我希望这就是你所需要的:

using (var dbObj = new [DB_NAME]Entities())
{
    var list = dbObj.provider.SqlQuery("SELECT * from provider where serila NOT IN ( select providerRef as Serial from ProviderTeam where TeamRef=134)").ToList();
}