2010-12-22 5 views
0

mit C#, ich habe eine Funktion namens "addmember". Es verwendet linq, um einen neuen Datensatz in der Datenbank zu erstellen. Ich muss einfach helfen, eine eindeutige Nummer ID zu erstellen, wenn jeder Datensatz erstellt wird. Ich habe anfangs die GUID-Funktion verwendet, aber ich möchte nur eine kleinere Zahl (dh .. 1-200).Linq, erstellen Sie neue Datensatz-ID

test_abDataConext Class = new test_abDataConext Class(); 
test_ab member = new test_ab(); 

member.memberID = GUID(); 
member.email = txtEmail.Text; 
+1

Warum können Sie die Datenbank nicht zur Angabe der ID-Nummern verwenden? – Murph

Antwort

5

Ich würde vorschlagen, dass Sie eine IDENTITY-Spalte (im Falle von SQL Server) oder einen anderen automatischen Generierungsmechanismus verwenden, um IDs beim Einfügen von Datensätzen zu generieren.

Dann können Sie LINQ2SQL im Designer sagen, dass Ihre ID-Spalte einen berechneten Wert hat, indem Sie die Eigenschaft Auto Generated Value auf True und Auto-Sync auf Immer oder OnInsert setzen.

+0

Kein Codebehind. Fügen Sie im LINQ2SQL-Designer die MemberID-Eigenschaft hinzu oder ändern Sie ihren Typ in Int und legen Sie die Eigenschaften wie in meiner Antwort beschrieben fest. Der Rest wird von LINQ2SQL erledigt. – Jan

0

Identität wäre am saubersten, wie @jan es vorschlägt, weil es die Reihenfolge für Sie steuert. Andernfalls können Sie die DB nach dem größten ID-Wert abfragen und einen hinzufügen. Es sei denn, es gibt ein Schema, das Sie verwenden können, um die Einzigartigkeit zu gewährleisten.

Verwandte Themen