我需要将此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
答案 0 :(得分:1)
LINQ不支持在数据库中插入记录。
顾名思义只是为了查询目的(现在);您无法删除,更新或插入。您需要依赖DbContext
或ObjectContext
(EF)或DataContext
(L2S)表功能,在从您的数据库中提取实体后,对映射到数据库的表执行这些操作数据库中。
实体框架有扩展,允许基于lambda的功能通过传递表达式来执行更新或删除命令。
同样在您的情况下,您的Context需要了解变量表@retCluster
,这是不可能的。您仍然可以使用DbContext.Database.SqlQuery
方法使用DbContext连接在数据库中执行任何基于字符串的命令。