Bester Weg, um zu prüfen, ob ein Objekt in Entity Framework vorhanden ist?

entity-framework exists linq-to-entities

Frage

Wie kann ich am besten überprüfen, ob ein Objekt in der Datenbank aus Performance-Sicht vorhanden ist? Ich verwende Entity Framework 1.0 (ASP.NET 3.5 SP1).

Akzeptierte Antwort

Wenn Sie SQL nicht direkt ausführen möchten, verwenden Sie Any () . Dies liegt daran, dass Any () zurückkehrt, sobald es eine Übereinstimmung findet. Eine andere Option ist Count () , dies muss jedoch vor dem Zurückkehren möglicherweise jede Zeile überprüfen.

Hier ist ein Beispiel, wie man es benutzt:

if (context.MyEntity.Any(o => o.Id == idToMatch))
{
    // Match!
}

Und in vb.net

If context.MyEntity.Any(function(o) o.Id = idToMatch) Then
    ' Match!
End If

Beliebte Antwort

Aus Performance-Sicht denke ich, dass eine direkte SQL-Abfrage mit dem Befehl EXISTS angemessen wäre. Informationen zum direkten Ausführen von SQL in Entity Framework finden Sie hier: http://blogs.microsoft.co.il/blogs/gilf/archive/2009/11/25/execute-t-sql-statements-in-entity-framework- 4.aspx



Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum