2013-09-23 14 views
12
public class Foo 
{ 
    public int Id { get; set; } 
    public int UserId { get; set; } 
} 

To wydaje się być sposobem na to asynchronicznie:FindAsync z wartości klucza niż podstawowa

DatabaseContext db = new DatabaseContext(); 
Foo foo = await db.Foos.FindAsync(fooid); 

Jak się asynchronicznie uzyskać wszystkie Foo dla konkretnego użytkownika na podstawie wartości identyfikatora użytkownika?

Odpowiedz

22

Zakładając, że używasz Entity Framework 6.0 (prerelease):

var userId = ...; 
var foos = await db.Foos.Where(x => x.UserId == userId).ToListAsync(); 
+6

wskazówka: Jeśli brakuje ToListAsync(), a następnie dodać za pomocą System.Data.Entity; –

+0

Jakikolwiek sposób to zrobić leniwie? – Sinjai

+0

@Sinjai: Jeśli chcesz leniwie ładować własności obiektu, to nie. EF nie obsługuje asynchronicznego ładowania leniwego. –