我正在实施工作单元模式,但我对新对象感到困惑。在我的UoW实现中,我将对象记录保存在数组中,索引为ClassName.ID
,但是当创建新对象时,它没有ID(直到将其保存到DB中),因此我应该如何在UoW中跟踪这些对象?
答案 0 :(得分:1)
我已经按照[dradu]的建议进行了相应的实施。所以对于新项目,我使用tempID
这是一个以下划线开头的唯一字符串,所以即使字符串包含所有数字,我仍然可以轻松识别tempID
。在保存每个新项目之前,我会得到tempID
,如果保存成功,我会从包含密钥ClassName.tempID
的UoW中删除对象,然后再次添加相同的项目。由于此时该项目具有正确的ID
,因此可以轻松跟踪其中ClassName.ID
添加到UoW中。