Meilleur moyen de vérifier si un objet existe dans Entity Framework?

entity-framework exists linq-to-entities

Question

Quel est le meilleur moyen de vérifier si un objet existe dans la base de données du point de vue des performances? J'utilise Entity Framework 1.0 (ASP.NET 3.5 SP1).

Réponse acceptée

Si vous ne voulez pas exécuter SQL directement, le meilleur moyen est d'utiliser Any () . En effet, Any () reviendra dès qu'il trouvera une correspondance. Une autre option est Count () , mais il peut être nécessaire de vérifier chaque ligne avant de retourner.

Voici un exemple d'utilisation:

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

Et dans vb.net

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

Réponse populaire

Du point de vue des performances, je suppose qu’une requête SQL directe utilisant la commande EXISTS serait appropriée. Voir ici pour savoir comment exécuter SQL directement dans Entity Framework: http://blogs.microsoft.co.il/blogs/gilf/archive/2009/11/25/execute-t-sql-statements-in-entity-framework- 4.aspx



Related

Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow