【发布时间】:2012-09-25 03:26:26
【问题描述】:
寻找一种方法将以下 LinQ 写入实体查询作为 T-SQL 语句。
repository.ProductShells.Where(x => x.ShellMembers.Any(sm => sm.ProductID == pid)).ToList().ForEach(x => repository.ProductShells.Remove(x));
以下显然不正确,但我需要它来删除相应的 ProductShell 对象,其中
任何 ShellMember 包含的 ProductID 等于传入的变量 pid。我认为这将涉及一个连接语句来获取相关的 ShellMembers。
repository.Database.ExecuteSqlCommand("FROM Shellmembers WHERE ProductID={0} DELETE FK_ProductShell", pid);
我为 FK_ShellMembers_ProductShell 外键启用了级联删除,因此当我删除 ProductShell 时,它将删除与其关联的所有 ShellMembers。我要将此语句传递给 System.Data.Entity Database.ExecuteSqlCommand 方法。
【问题讨论】:
标签: sql sql-server entity-framework tsql