Ignorieren Sie die doppelte Schlüsseleinfügung mit Entity Framework

Ich verwende zuerst ASP.NET MVC4 mit Entity Framework Code. Ich habe eine Tabelle mit dem Namen "Benutzer" und dem Primärschlüssel "Benutzer-ID". Diese Tabelle kann mehr als 200.000 Einträge enthalten.

Ich muss weitere 50 Benutzer einfügen. Ich könnte das gerne machen

foreach(User user in NewUsers){
    context.Add(user);
}
dbcontext.SaveChanges();

Das Problem ist, dass einer oder mehrere dieser neuen Benutzer möglicherweise bereits in der Datenbank vorhanden sind. Wenn ich sie hinzufüge und dann versuche zu speichern, wird ein Fehler ausgegeben und keiner der gültigen wird hinzugefügt. Ich könnte den Code ändern, um dies zu tun:

foreach(User user in NewUsers){
    if(dbcontext.Users.FirstOrDefault(u => u.UserId) == null)
    {
        dbcontext.Users.Add(user);
    }
}
dbcontext.SaveChanges();

was würde funktionieren. Das Problem ist, dass es dann 50 Mal eine Abfrage für eine 200.000+ -Eintragstabelle ausführen muss. Also meine Frage ist, was ist die leistungsfähigste Methode zum Einfügen dieser Benutzer,ignorieren irgendwelche Duplikate?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage