Heim > Datenbank > MySQL-Tutorial > Wie deaktiviere ich automatisch generierte Schlüssel im Entity Framework mit manueller Schlüsseleingabe?

Wie deaktiviere ich automatisch generierte Schlüssel im Entity Framework mit manueller Schlüsseleingabe?

Barbara Streisand
Freigeben: 2025-01-15 18:57:44
Original
171 Leute haben es durchsucht

How to Disable Auto-Generated Keys in Entity Framework with Manual Key Input?

Automatisch generierte Schlüssel von Entity Framework durch manuelle Eingabe überschreiben

Die manuelle Verwaltung von Primärschlüsseln in Entity Framework kann Schwierigkeiten bereiten, wenn versucht wird, die automatische ID-Generierung des Frameworks zu unterdrücken. Dieser Leitfaden befasst sich mit diesem häufigen Problem.

Die Herausforderung entsteht, wenn versucht wird, die automatische EventID-Generierung mithilfe von HasDatabaseGeneratedOption(DatabaseGeneratedOption.None) zu verhindern. Dies steht oft im Konflikt mit der IDENTITY_INSERT-Einstellung in SQL Server.

Konflikt lösen:

Um diesen Konflikt zu lösen, aktivieren Sie IDENTITY_INSERT für die entsprechende Tabelle. Dies ermöglicht das manuelle Einfügen von Identitätswerten. Implementieren Sie dies in Ihrem DbContext-Konstruktor:

<code class="language-csharp">using (var connection = Db.Database.Connection)
{
    var command = connection.CreateCommand();
    command.CommandText = "SET IDENTITY_INSERT Events ON";
    command.ExecuteNonQuery();
}</code>
Nach dem Login kopieren

Attributbasierte Schlüsselkonfiguration:

Alternativ können Sie Attribute zur Konfiguration verwenden. Wenden Sie das folgende Attribut auf Ihre EventID-Eigenschaft an:

<code class="language-csharp">[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int EventID { get; set; }</code>
Nach dem Login kopieren

Dieser Ansatz funktioniert in Entity Framework 6 und Entity Framework Core identisch.

Durch die Einbindung dieser Änderungen können Sie die automatische Primärschlüsselgenerierung effektiv deaktivieren und Ereignisentitätswerte manuell verwalten.

Das obige ist der detaillierte Inhalt vonWie deaktiviere ich automatisch generierte Schlüssel im Entity Framework mit manueller Schlüsseleingabe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage