Detect, decide if BOM changed? VB.NET

Hi,

In my application I read a full content of a BOM, and store it's data in DataTable.

User can switch window, can manipulate what he want, but when he switch back to BOM's window, I have to decide if a BOM changed or not based on my last full content reading (content, row order etc).

Is there some fast way to decide or detect this?

Full read is not good option, because in case of large modell there is a lot of times.

Thank you

SolidworksApi macros