可能重复:
删除实体框架中的对象及其所有子对象?
这段代码:
int WebsiteID = int.Parse(Request.QueryString["id"]);
Website websiteObj = db.Websites
.SingleOrDefault(x => x.website_id == WebsiteID);
foreach (BusinessObjects.Page pageObj in websiteObj.Pages)
{
foreach (SubPage subpageObj in pageObj.SubPages)
{
pageObj.SubPages.Remove(subpageObj);
}
websiteObj.Pages.Remove(pageObj);
}
foreach (Sector sectorObj in websiteObj.Sectors)
{
foreach (Product productObj in sectorObj.Products)
{
sectorObj.Products.Remove(productObj);
}
websiteObj.Sectors.Remove(sectorObj);
}
db.Websites.DeleteObject(websiteObj);
一个网站有多个页面,一个页面有多个子页面。一个网站也有多个部门,每个部门都有多个产品。
我想删除该网站并清除与之相关的所有关系+实体。我确信有更好的方法来编写上述内容。
有没有办法改进逻辑?