Da die Id ja nicht im C# errechnet wird sondern nur gegen irgendeine Konstante verglichen wird, brauchst du keine Methode sondern nur eine Zufallszahl, die allerdings mit der Tabelle hart verdrahtet und nie wieder geändert wird.
Man muss auch nicht dafür sorgen, dass jede Tabelle eine eigene ID hat, da es durchaus dieselbe ID auf mehreren Tabellen gibt.
Also generiere einfach eine 13-stellige Zufallszahl je Tabelle und gib diese als ID aus.
So ähnlich wird das wohl ausgehen. Mein Entwurf hier macht das im Prinzip, wobei Dein Vorschlag allerdings noch viel simpler ist. Finde ich gut.
Kann aber sein, dass der Kunde erst beruhigt ist, wenn es irgendeinen logischen Bezug zur Dateistruktur gibt. ist ein psychologisches Problem, aber wenn er das will, bekommt er das. Das Prinzip bleibt gleich.
Wer nen Linux-Rechner hat, braucht im Prinzip nur Teile eines Kommentar-befreiten DDS-Formats durch md5sum zu schicken, und fertig ist die Laube.
Wobei md5 länger als 13 ist, deshalb habe ich diese nicht erwähnt.
Ob die IBM das jemals offenlegt, zumal die Antwort dann sein wird: wozu? SQL ignoriert dies doch!
Ja ne, klar, aber ist eine Formsache. (md5 modulo 0xFirgendwas) oder so, das wäre nur ein Nebenschauplatz. Die IDs sind übrigens laut IBM auch nicht garantiert eindeutig (wie das bei Hashes eben so ist).
Bookmarks