Linq查询从子表中删除记录

时间:2013-12-02 19:30:59

标签: c# asp.net linq

我首先使用代码ASP.NET C#。尝试从子表中删除一对多关系中的记录 LoginBackEnds是父表和AccessProviders子表。

LoginBackEnds表包含以下字段: 用户身份, USERLASTNAME, USERFIRSTNAME,

AccessProviders表包含以下字段: ACCESSID, ProviderId, LoginBackEnd_UserId(LoginBackEnds表中的UserId的外键)

使用linq查询删除语句的任何建议吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

如果您尚未获取实体,则需要删除实体:

// Get the AccessProviders to delete
IQueryable<AccessProviders> accessProviders = context.LoginBackEnds.SingleOrDefault(x => x.UserId == userId).AccessProviders;

// Delete AccessProviders
foreach(AccessProvider accessProvider in accessProviders)
{
    context.AccessProviders.DeleteObject(accessProvider);
}
context.SaveChanges();

如果您想了解DeleteObject()Remove()之间的区别,请参阅我的so question