Ich folge von Entity Framework Beispiel:Identitätsspalte in EF 4
http://msdn.microsoft.com/en-us/library/bb399182.aspx
und ich habe Probleme mit Identitätsspalten.
Hier ist ein Teil des Codes der Erstellung der Datenbank:
CREATE TABLE [dbo].[Person](
[PersonID] [int] IDENTITY(1,1) NOT NULL,
[LastName] [nvarchar](50) NOT NULL,
[FirstName] [nvarchar](50) NOT NULL,
[HireDate] [datetime] NULL,
[EnrollmentDate] [datetime] NULL,
CONSTRAINT [PK_School.Student] PRIMARY KEY CLUSTERED
(
[PersonID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
In VS 2010 I .edmx bauen und Modell, das ich sehe, dass Person StoreGeneratedPattern auf Identität festgelegt ist.
Aber wenn ich Person erstellt werden soll, durch:
Warum muss ich id setzen, wenn diese Spalte autoincrement?
EDITŁ
Ich dachte, dass ich den Weg gefunden, um mein Problem zu lösen, indem sie:
var schoolContext = new SchoolEntities();
schoolContext.AddToPeople(new Person() { LastName = "Gates", FirstName = "Bil" });
schoolContext.SaveChanges();
weil es Bill zu Personen hinzugefügt, aber ... weil PersonID nicht NULL sein kann, und es eingefügt ihn mit der ID 0. Als ich versuchte, eine andere Person die gleiche Art und Weise natürlich über Primärschlüssel-I-Fehler :)
mit nichts ...
Irgendwelche Ideen also noch erhalten hinzufügen?
Danke Marc! Es ist das nächste Mal, dass Sie mich viel Zeit sparen – user278618
Schönes Muster, aber ich denke, Sie wären sicherer mit der Standard-0 für ID .. -1 würde fehlschlagen Standard-Wert überprüft und man könnte davon ausgehen, dass Sie nicht eine Tabelle mit einer Identität entwerfen würde beginnend bei Null. –
@daveL: negative Zahlen funktionieren gut für mich .... –