我有這種情況(MVC + EF)BLL邏輯 - 數據訪問模式
我有兩個表分類和產品在數據庫中。
Initlialy,我爲類別創建一個BLL。 BBL有CRUD方法。
在D(刪除)中。此方法將按ID刪除類別。
所以。有關類別BBL的一切都已完成。
接下來,我爲產品創建一個BLL。它也有CRUD方法。
在C(創建)視圖中。我展示了一個HTML,這是一個產品類別列表。
我想這個問題問在這裏:
當我添加產品BLL到我的項目。我必須修改類別BLL的Delete方法。
我有/想要將名爲DeleteProductByCategoryID()的新方法添加到BBL。我在BLL類的Delete方法中調用它。
public void Delete(int id)
{
xxxxx.DeleteProductByCategoryID(id);
categoryBLL.DeleteCategory(id);
}
該方法將刪除指定類別ID的所有Product。
所以問題是:我應該在哪裏創建DeleteProductByCategoryID()方法(類別或產品BLL)?
爲了在Controller.Product.Create()視圖中顯示Category的列表,我還想創建一個新的方法來獲取Category的集合。我應該將此方法放在Product BLL還是Category BLL中?
productBLL.CategoriesForProduct(ID);以上方法是冗餘代碼。 BLL類別首先創建。因此,GetCategories()存在於BLL類中。在Product BLL中,我們應該創建新的方法還是創建新的Category實例並調用GetCategories()? – 2013-10-28 10:40:23
@Giang我的建議引入了一個新表,以便在產品和類別之間實現簡單的** n到n **關係。我不認爲,代碼是多餘的。 「BLL創建的第一個類別」究竟是什麼意思?在方法中,** ShowCategoriesForProduct **僅提取產品分配到的類別,而不提供**全部**可能的類別。如果您只是調用categoryBLL.GetCategories(),那麼您如何知道要爲當前選定的產品顯示哪個類別? – pasty