Entity Framework - Sélectionnez * à partir d'Entités where Id = (select max(Id) from Entités)

J'ai une entité nommée Entities qui a un champ Name et un champ Version. Je voudrais revenir à l'objet ayant la version la plus récente pour le Name.

SQL sage, j'irais

Select * 
from table 
where name = 'name' and version = (select max(version)  
                                   from table 
                                   where name = 'name')

Ou quelque chose de similaire. Pas sûr de la façon de l'accomplir avec EF. Je suis en train d'utiliser CreateQuery<> avec une représentation textuelle de la requête si cela aide.

Grâce

EDIT:
Voici une version de travail à l'aide de deux requêtes. Pas ce que je veux, semble très inefficace.

var container = new TheModelContainer();
var query = container.CreateQuery<SimpleEntity>(
    "SELECT VALUE i FROM SimpleEntities AS i WHERE i.Name = 'Test' ORDER BY i.Version desc");
var entity = query.Execute(MergeOption.OverwriteChanges).FirstOrDefault();
query =
    container.CreateQuery<SimpleEntity>(
        "SELECT VALUE i FROM SimpleEntities AS i WHERE i.Name = 'Test' AND i.Version =" + entity.Version);
var entity2 = query.Execute(MergeOption.OverwriteChanges);
Console.WriteLine(entity2.GetType().ToString());

OriginalL'auteur Ian | 2011-12-05