Generieren Sie konsistent einen Hash des Objekts

Ich versuche einen Hash (md5 oder sha) von einem Objekt zu bekommen.

Ich habe das implementiert:http://alexmg.com/post/2009/04/16/Compute-any-hash-for-any-object-in-C.aspx

Ich verwende nHibernate, um meine POCOs aus einer Datenbank abzurufen.
Wenn GetHash auf diesem Server ausgeführt wird, ist es jedes Mal anders, wenn es aus der Datenbank ausgewählt und mit Flüssigkeit versorgt wird. Ich denke, dies wird erwartet, da sich die zugrunde liegenden Proxys ändern werden.

Sowieso,

Gibt es eine Möglichkeit, konsistent jedes Mal einen Hash aller Eigenschaften eines Objekts abzurufen?

Ich habe mit der Idee gespielt, einen StringBuilder über this.GetType (). GetProperties ..... zu verwenden und einen Hash dafür zu erstellen, aber das scheint ineffizient zu sein?

Als Randnotiz gilt dies für das Verfolgen von Änderungen dieser Entitäten von einer Datenbank (RDBMS) zu einem NoSQL-Speicher (Vergleichen von Hash-Werten, um festzustellen, ob sich Objekte zwischen rdbms und nosql geändert haben).

Antworten auf die Frage(3)

Ihre Antwort auf die Frage