可能重複一個foreach:
Delete object and all its child objects in Entity Framework?提高使用LINQ
此代碼:
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);
一個網站有多個網頁,網頁上有多個子頁面。一個網站也有多個部門,每個部門有多個產品。
我想刪除網站並清除所有與它相關的關係+實體。我相信有更好的方法來編寫上述內容。
有沒有辦法改進邏輯?
那些時代,我不知道爲什麼人們不只是使用SQL ... – Lucero
使用SQL會不會更糟?清除所有關係和刪除行等...? – user1027620
@Lucero想象一下,數據庫是否具有某種級聯刪除功能 – podiluska