Wie generieren Sie eindeutige Bestellnummer?

Ich bin auf der Suche nach eine gute Möglichkeit zum generieren eines eindeutigen Auftrags-ID. Sehen Sie irgendwelche Probleme mit dem code unten?

int customerId = 10000000;

long ticks = DateTime.UtcNow.Ticks;

long orderId = customerId + ticks;

int orderNumber = orderId.GetHashCode();

Ich gehe, um zu überprüfen, dass die Nummer eindeutig ist, in der Datenbank vor anlegen der Bestellung.

  • Rein theoretisch, Hashwerte kollidieren können.
  • Sicherlich ist es nicht wirklich einzigartig, die Sie suchen, einfach die nächste fortlaufende Nummer... ich Stimme mit der folk unten sprechen über die Verwendung einer identity-Spalte.
  • Kunst: Nichts theoretisches über es. Hashwerte kollidieren die ganze Zeit. Es gibt nur rund vier Milliarden Euro zur Verfügung, so dass Sie natürlich dabei sind, zu kollidieren.
Schreibe einen Kommentar