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
方法。