C# 如何从附带的delete SQL中创建delete LINQ命令?

C# 如何从附带的delete SQL中创建delete LINQ命令?,c#,linq,entity-framework,linq-to-entities,C#,Linq,Entity Framework,Linq To Entities,我使用的是MVC3、EF4.1和C 我有这个SQL代码,我想将其转换为LINQ,但我正在努力掌握正确的LINQ,因此我正在向您的专家LINQ专家寻求帮助 从触发器获取的删除SQL是: DELETE FROM Feature WHERE NOT EXISTS ( SELECT LU1 AS LUID FROM dbo.CLASS WHERE SectionId = Feature.SectionId AND LU1 = Feature.StdLibraryItemId UNION

我使用的是MVC3、EF4.1和C

我有这个SQL代码,我想将其转换为LINQ,但我正在努力掌握正确的LINQ,因此我正在向您的专家LINQ专家寻求帮助

从触发器获取的删除SQL是:

DELETE FROM Feature 
WHERE NOT EXISTS  
(
SELECT    
LU1 AS LUID 
FROM dbo.CLASS WHERE SectionId = Feature.SectionId AND LU1 = Feature.StdLibraryItemId
UNION 
SELECT    
LU2 AS LUID 
FROM dbo.CLASS WHERE SectionId = Feature.SectionId AND LU2 = Feature.StdLibraryItemId
)

非常感谢。

在EF中它看起来像这样(假设您的DbContext是
db
):

var featuresToRemove = db.Feature.Where(f => !db.Class.Any(c => c.SectionID == f.SectionID && (c.LU1 == f.StdLibraryItemID || c.LU2 == f.StdLibraryItemID ))
foreach (var feature in featuresToRemove)
{
    db.Feature.Remove(feature);
}