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
Barbara StreisandOriginal
2025-01-15 18:57:44173Durchsuche

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>

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>

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!

Stellungnahme:
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