我建立了一個庫存管理系統,目前,使用實體框架4.實體框架;面向對象刪除
一點背景,我的實體去有點像這樣(只顯示所需信息)
產品 - > ProductLocations
WarehouseLocation - >有許多ProductLocations
每個ProductLocation
有數量
我試圖做的是h這樣當您調用Product.TakeFromLocation(wl爲WarehouseLocation,qty爲Integer)時,它將刪除ProductLocation,如果其數量降至零。
但是...產品是一個實體,和ProductLocation一樣,它們意味着持久無知。我使用POCO EF模板,進行了一些修改,以便生成一個IEntities
接口,並使用內存中的版本生成FakeEntities以進行測試。這意味着我的實體不知道任何有關實體框架的知識,也不會從任何東西繼承或實現任何接口,因此C ontext.DeleteObject()
超出範圍。
任何人都遇到過類似的情況,並有任何想法如何避免這種情況?
我覺得如果上下文中的SaveChanges()是一個局部方法,我可以擴展它來檢查0數量 - 但是接下來它會爲所有的保存執行此操作,這是一個拖拽90%以上的操作沒有這樣做。