DbContext -> DbSet -> Where-Klausel fehlt (Entity Framework 6)

Ich habe einige Tutorials mit Entity Framework 6 gelesen ...

ie Grundlagen sind einfac

using (var context = new MyContext())
{
    User u = context.Users.Find(1);
}

Aber wie benutzt man "Where" oder etwas anderes im "DbSet" mit den Benutzern?

public class MyContext : DbContext
{
    public MyContext()
        : base("name=MyContext")
    {
        //this.Database.Log = Console.Write;
    }

    public virtual DbSet<User> Users { get; set; }
}

Benutzer

[Table("User")]
public class User : Base
{
    public Guid Id { get; set; }

    [StringLength(100)]
    public string Username { get; set; }
}

Und das ist das Problem, das nicht funktioniert.

string username = "Test";
using (var context = new MyContext())
{
    User u = from user in context.Users where user.Username == username select user;
}

Error Das Abfragemuster für den Quelltyp 'DbSet' wurde nicht implementiert. 'Wo' wird nicht gefunden. Möglicherweise fehlt eine Referenz oder eine using-Direktive für 'System.Link'.

Wenn ich versuche, die Methoden automatisch zu vervollständigen, gibt es keine.

Warum funktioniert es nicht? :

// Bearbeiten: Durch Hinzufügen von System.Linq am Anfang der Datei werden die Funktionen des obigen Problems geändert, sodass ich kein Problem mehr habe.

Aber warum daswhere ist jetzt falsch?

The type "System.Linq.IQueryable<User>" cant converted into "User" explicit. There already exists an explicit conversion. (Possibly a cast is missing)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage