1
寻找一种将以下LinQ写入实体查询的方式作为T-SQL语句。通过与T-SQL查询的外键关系删除对象
repository.ProductShells.Where(x => x.ShellMembers.Any(sm => sm.ProductID == pid)).ToList().ForEach(x => repository.ProductShells.Remove(x));
以下显然是不正确的,但我需要它来删除相应的ProductShell对象,其中 任何ShellMember包含等于可变pid
通过的产品ID。我认为这将涉及一个加入声明,以获得相关的壳牌成员。
repository.Database.ExecuteSqlCommand("FROM Shellmembers WHERE ProductID={0} DELETE FK_ProductShell", pid);
我有级联删除的FK_ShellMembers_ProductShells外键启动,所以当我删除ProductShell它会删除与它相关联的所有ShellMembers。我将把这个声明传递给System.Data.Entity Database.ExecuteSqlCommand
方法。