实体框架;面向对象的删除

时间:2010-10-08 09:53:06

标签: entity-framework entity-framework-4

我正在使用Entity Framework 4构建库存管理系统。

一点背景,我的实体有点像这样(只显示需要的信息)

产品 - > ProductLocations

WarehouseLocation - >有很多ProductLocations

每个ProductLocation都有一个数量

我要做的就是让你在调用Product.TakeFromLocation(wl为WarehouseLocation,qty为Integer)时,如果它的数量下降到零,它会删除ProductLocation。

然而......产品是一个实体,就像ProductLocation一样,它们意味着持久无知。我正在使用POCO EF模板,进行了一些修改,以便生成IEntities接口,并使用内存中的版本生成FakeEntities进行测试。这意味着我的实体对Entity Framework一无所知,也不会从任何东西继承或实现任何接口,因此C ontext.DeleteObject()超出范围。

任何人都遇到了类似的情况,并对如何解决这个问题有任何想法?

我有点认为如果上下文中的SaveChanges()是一个局部方法,我可以扩展它以检查0数量 - 但是它会为所有保存执行此操作,这有点拖累90%以上没有这样做的操作。

1 个答案:

答案 0 :(得分:1)

我会在SavingChanges事件中执行,而不是SaveChanges()

至于性能“开销”,我怀疑它介于琐碎和不可测量之间。