2009-03-17 3 views
0

ich dies schrieb:ADO.NET Entity Framework: Erstellen Sie ein Objekt mit Hilfe der statischen Methode Create (C#)

 

using (GuiaMovilEntities guiaEntity = new GuiaMovilEntities()) 
{ 
    try 
    { 
    Cliente cliente = 
     Cliente.CreateCliente(-1, datosCliente.Email, datosCliente.Password); 
    } 
    catch 
    { 
    } 
} 
 

Es ist unvollendet.

Wenn die Tabelle Cliente (dargestellt durch Cliente-Objekt) ihre erste Zeile (clienteID) als IDENTITY-Spalte hat.

Ist es korrekt, -1 als clienteID Wert zu setzen?

Danke!

Antwort

2

Identitätsparameter werden automatisch generiert - Sie sollten den Wert nicht selbst angeben müssen.

+0

So sollten Sie die statische Standard-Methode erstellen verwenden, die das Objekt Entity Framework erstellt oder geben Sie einfach in 0 als ID? – ajbeaven

+0

Ich könnte mir vorstellen, dass Sie, wenn es automatisch generiert wird, gar nichts eingeben müssen. Geben Sie der ID sicher keine 0. –

+0

Hmm scheint nicht der Fall zu sein, wenn ich eine .edmx aus der Datenbank erzeuge, die ich habe, obwohl das vielleicht eine andere Frage ist. – ajbeaven

0

Nein, Sie müssen die ID nie einstellen. Entfernen Sie den Parameter von der Factory-Methode und belassen Sie den Id-Wert als Standard (in diesem Fall denke ich an Null).

0

Wenn Sie wirklich eine undefinierte ID, die nicht 0 ist, wie -1, möchten, können Sie den Standardkonstruktor für Ihre Entität implementieren und dort festlegen.

1

Hier ist eine andere Option:

Cliente cliente = new Cliente 
{ 
    Email = datosCliente.Email, 
    Password = datosCliente.Password 
};