c# - Entity Framework : SELECT From Where ID NOT IN

标签 c# asp.net sql-server entity-framework

我知道这可能是个简单的问题,但我花了几个小时试图弄明白,但没有成功!

我想在 Entity Framework 中实现以下 SQL 命令:

SELECT * FROM Table1
WHERE RowID NOT IN (
SELECT SomeID FROM Table2 Where SomeID is not null)

我尝试了以下(Asp.Net C#):

var SomeIDs = db.Table2.Where(n => n.SomeID != null).Select(x => x.SomeID);
var query = (from a in db.Table1
             where !(SomeIDs.Contains(a.RowID))
             select a;

它在小型数据库中工作正常,但在生产数据库中它需要很长时间然后超时!

感谢任何帮助!

最佳答案

尝试使用AsNoTracking,如果您不使用返回的对象来更新数据库中的数据,它可能会对您有所帮助

Table1.where(x => !someIds.conatins(x.id)).AsNoTracking();

关于c# - Entity Framework : SELECT From Where ID NOT IN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49221209/

相关文章:

c# - 无法将 ASP.NET Web API 发布到 Azure 应用服务

c# - 证书 - 什么是 KSP 和 CSP

sql - 从 2 个表中选择 2 个不同的值

sql - 每小时分组需要与前一小时数据相加并与 SQL Server 中的另一个字段相减

sql-server - PostgreSQL。创建包含连接其他列中的值的列的表

c# - 强制应用程序仅运行单核?

java - C# 获取扩展基类的类列表

ASP.NET MemoryCache 跨应用程序共享

c# - 如何使用网络浏览器控件在弹出窗口中提供用户名和密码

asp.net - 关闭一个子目录的 ASP.Net WebForms 身份验证