Ich habe eine Tabelle in meinem VB.NET-Code, die einen Alias mit seinem richtigen Namen, mit Alias als Schlüssel zuordnen.Was passiert, wenn ich mit einem Primärschlüssel umgehen muss, der String.Empty in vb.net entspricht?
Problem ist, dass ich den Fall von Alias zu behandeln habe eine leere Zeichenfolge sein und das verursacht eine Ausnahme, weil String.Empty
gleich Nothing
in VB.NET
Wie soll ich diesen Fall behandeln soll? Gibt es eine Art, wie ich damit umgehen könnte die zugrunde liegende DB Definition von so etwas wie dies ohne Bearbeitung:
CREATE TABLE [tablename] (
[alias] NVARCHAR (100) NOT NULL,
[name] NVARCHAR (100) NULL,
PRIMARY KEY CLUSTERED ([alias] ASC)
);
etwas wie folgt aus:
CREATE TABLE [tablename] (
[alias] NVARCHAR (100) NULL, UNIQUE
[name] NVARCHAR (100) NULL
);
Klingt wie ein schlechter Entwurf zu mir. Was passiert, wenn Sie zwei Personen mit demselben Alias haben? –
Es passiert einfach nie, ich brauche diese Tabelle nur, um eine Liste von Hardware-Herstellern zu ihrem Standard-Namen zu normalisieren (wie 'nvidia corp' einfach zu 'nVidia' oder 'HP Drucker' zu 'HP'), so ist in gewisser Weise gebaut um diese Art von Problemen zu vermeiden (ja unsere Lieferanten geben uns gerne Probleme, auch da gibt es ein Designproblem in der DB, ziemlich sicher) – Forna
Und was passiert, wenn Sie zwei leere Aliase haben? Es ist grundsätzlich schlechtes Design. Sie benötigen einen künstlichen Schlüssel, normalerweise eine Identitätsspalte. – peterG