Search code examples
entity-frameworklinq-to-entitiesexists

Best way to check if object exists in Entity Framework?


What is the best way to check if an object exists in the database from a performance point of view? I'm using Entity Framework 1.0 (ASP.NET 3.5 SP1).


Solution

  • If you don't want to execute SQL directly, the best way is to use Any(). This is because Any() will return as soon as it finds a match. Another option is Count(), but this might need to check every row before returning.

    Here's an example of how to use it:

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

    And in vb.net

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