Linq加入表记录删除

时间:2011-02-27 11:15:42

标签: c# asp.net linq linq-to-sql

我对linq删除有疑问。

我在数据库中有2个表,它们已加入。

第一张表:UserID,UserName,UserSurname,UserPhone,CompanyId

第二张表:CompanyId,CompanyName

第一张表我有许多带有相关第二张表的记录。

我想在第二条记录中删除一家公司,但实际上我必须删除用户(超过1条)

如何使用linq删除它?

感谢John,

2 个答案:

答案 0 :(得分:0)

如果我正确理解您的问题,您希望删除用户记录,并删除相关的公司记录。可能最简单的方法是将数据库中的外键设置为级联删除外键。然后只需使用Linq删除要删除的用户记录。 SQL Server将自动删除关联的公司记录。

答案 1 :(得分:0)

你可以使用这个

var toDelete = from c in yourDataContext.Companies
               where c.ID = 1
               select c

yourDataContext.Users.DeleteAllOnSumbit(toDelete .Users);
yourDataContext.Companies.DeleteOnSumbit(toDelete );
yourDataContext.SubmitChanges();

为了更进一步的帮助,请告诉我。