需要将SQL转换为复杂的Linq
我需要将此SQL转换为Linq,我不知道如何需要将SQL转换为复杂的Linq,linq,entity-framework,Linq,Entity Framework,我需要将此SQL转换为Linq,我不知道如何 INSERT INTO @retCluster (HCIS_ID) SELECT HCIS_ID FROM OHCD_EmployeeInfo WHERE ImmediateSupervisor IN (SELECT HCIS_ID FROM @retCluster) AND HCIS_ID NOT IN (SELECT HCIS_ID FROM @retCluster) AND HCIS_Status_ID = 1 LINQ不支持在数
INSERT INTO @retCluster (HCIS_ID)
SELECT HCIS_ID FROM OHCD_EmployeeInfo
WHERE ImmediateSupervisor IN (SELECT HCIS_ID FROM @retCluster)
AND HCIS_ID NOT IN (SELECT HCIS_ID FROM @retCluster)
AND HCIS_Status_ID = 1
LINQ不支持在数据库中插入记录。 如名称所示,仅用于查询目的(目前);您不能删除、更新或插入。从数据库中提取实体后,需要依靠
DbContext
或ObjectContext
(EF)或DataContext
(L2S)表功能对映射到数据库的表执行这些操作
实体框架有一些扩展,允许基于lambda的功能通过传递表达式来执行更新或删除命令
同样在您的情况下,您的上下文需要了解变量表
@retCluster
,这是不可能的。您仍然可以使用DbContext.Database.SqlQuery
方法,使用DbContext连接在数据库中执行任何基于字符串的命令。那么临时表@retCluster
是如何填充的呢?