Pourquoi est .Contient-il lent? Le moyen le plus efficace pour obtenir plusieurs entités à l'aide de la clé primaire?

Quel est le moyen le plus efficace pour sélectionner plusieurs entités à l'aide de la clé primaire?

public IEnumerable<Models.Image> GetImagesById(IEnumerable<int> ids)
{

    //return ids.Select(id => Images.Find(id));       //is this cool?
    return Images.Where( im => ids.Contains(im.Id));  //is this better, worse or the same?
    //is there a (better) third way?

}

Je me rends compte que je pouvais faire des tests de performance pour comparer, mais je me demande si il n'y a en fait une meilleure façon que les deux autres, et suis à la recherche de quelques lumières sur ce qu'est la différence entre ces deux requêtes est, le cas échéant, une fois qu'ils ont été "traduits".

InformationsquelleAutor Tom | 2011-11-12