After hacking more on my current app – once again, I am running into an issue which kills some of the joy I expected from my domain model.
The problem here is that the aggregate root / most important class in my domain model doesn’t have consistent ID values for its entries.
(E.g messed up : 1..3..5..12..150..157.. and so on | this is because it’s a database that is being updated since MS Access 1997 and now upsized to MSSQLServer).
Is there a way to still get the real next object in the current collection ( which means that it is not just based on its ID value ) ?
What would you guys suggest me to do in this case?
And is it a good idea to:
- Delete ID field and regenerate it?
- Create some HelperMethods to get the next object in the current? (How would you achieve that.. ?)
Are the IDs at least ordered, even if there are gaps? If so, simply order by the id and iterate over the enumeration. If you need access to the next object within a filter (Where for instance), you can use the extension method that provides access to the index in the collection.
Ex. 1:
Ex. 2: