2017-07-04 6 views
0

Dieses Problem für mich in diesem Thread gelöst How can I force entity framework to insert identity columns?Force-Entity Framework Identitätsspalte hinzufügen

Aber was muss ich wissen, dass, wenn ich

dataContext.Database.ExecuteSqlCommand("SET IDENTITY_INSERT [dbo].[User] OFF"); 

gesetzt, bevor ich die Savechanges() -Methode aufrufen wird es den gleichen Effekt haben? Ich meine, warum sollte ich die Identität ausschalten, nachdem ich SaveChanges() aufgerufen habe.

+0

Ich denke, es ist einfach, Sie setzen die Identität und sobald Sie mit Ihrer Operation fertig sind, werden Sie es wieder zurückgesetzt, um alten Zustand für die Tabelle zu haben. :) –

+0

Ich weiß, ich bitte hier, es nach oder vor SaveChanges zurückzusetzen, haben sie die gleiche Wirkung auf die zugrunde liegende Datenbank? –

+0

Der Grund, warum ich vorher oder nachher frage, denn in meinem Fall schreibe ich in 2 Tabellen gleichzeitig (die zweite stützt sich auf die erste), und da Sie die Identität nicht auf 2 Tabellen gleichzeitig setzen können , Ich musste zuerst die Identität für die erste Tabelle aktivieren und nachdem ich fertig bin ich die Identität für die zweite Tabelle aktivieren, dann rufe ich SaveChanges(). –

Antwort

0

Ich habe vor ein paar Tagen genau das gemacht.

Mit
dataContext.Database.ExecuteSqlCommand("SET IDENTITY_INSERT [dbo].[Table] ON"); 

und

dataContext.Database.ExecuteSqlCommand("SET IDENTITY_INSERT [dbo].[Table] OFF"); 

tat nichts.

Ich musste einen SQL-Befehl verwenden, der es anschaltete, tat, was ich tun wollte, und dann innerhalb desselben Befehls ausgeschaltet.

+1

Für mich funktioniert die Lösung in dem Thread, den ich erwähnte, perfekt, aber hier frage ich, ob ich die Identität nach oder vor dem Aufruf von SaveChanges ausschalten soll. –

+0

Ich muss ein anderes Spiel haben, ich konnte es nicht zur Arbeit bringen. Es blieb als automatische inkrementelle Nummer bei der Verwendung von EF. Ich würde wahrscheinlich danach sagen, bis zu diesem Punkt wird alles in einem Puffer gehalten. EF erledigt alles in einer Transaktion mit SaveChanges –

Verwandte Themen