在实体框架中选择 WHERE IN

Posted

技术标签:

【中文标题】在实体框架中选择 WHERE IN【英文标题】:Select WHERE IN in entity framework 【发布时间】:2014-10-28 06:34:16 【问题描述】:

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

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

我搜索了互联网但没有答案。

【问题讨论】:

检查***.com/questions/13342817/…。您也可以使用 EXISTS 重写查询并查看 ***.com/questions/2379183/… 【参考方案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;

【讨论】:

【参考方案2】:

我希望这是你需要的:

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();

【讨论】:

以上是关于在实体框架中选择 WHERE IN的主要内容,如果未能解决你的问题,请参考以下文章

如何用实体框架选择多列并用textBlocks显示?

在实体框架中使用动态 where 子句

实体框架 - 具有多个条件的异步选择

实体框架 Linq 查询:.Where 链 vs &&

实体框架 where 子句从特定列过滤

在循环中使用 IQueryable 的实体框架 WHERE OR 查询