我知道这可能是个简单的问题,但我花了几个小时试图弄明白,但没有成功!
我想在 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/