实体框架核心声明表变量,向其插入值并将其用于'其中不存在'

时间:2018-02-20 14:17:24

标签: c# sql-server entity-framework entity-framework-core

因为

SELECT * FROM visits where id not in (1,2,3,4,5,6,...)

有100个ID真的很慢,我想使用一个声明的表并执行一个“不存在”的地方'就像它一样:

DECLARE @list Table(ID int);
INSERT INTO @list VALUES (192000),(934282),(991116),(235091),(89709),(282605),(339057),(368062),(512013),(536548),(94714),(197477),(654839),(848893),(15917),(476700),(909048),(536400),(823404),(777915),(228055),(492591),(439780),(493784),(732689),(328185),(620171),(183835),(373595),(536869), ...;
INSERT INTO @list VALUES (3),(5);
SELECT TOP (1000) [Id]
      ,[IsDeleted]
      ,[Url]
      ,[Username]
      ,[VisitDate]
  FROM [dbo].[Site].[Visits] v
  where not exists (select id from @list l where l.ID =  v.Id)

但是,我想使用实体框架核心2.0的LINQ到实体来在访问中添加其他.Where()子句和.OrderBy,.Take(),...功能。 / p>

此查询是否可以转换为LINQ-To-Entities或至少转换为IQueryable,我可以在之后使用扩展函数? 我使用的是ASP.NET Core 2.0.5,数据库是MSSQL Server 2016。

0 个答案:

没有答案