' kann nicht in 'Int' konvertiert werden.'/> ' kann nicht in 'Int' konvertiert werden.'/> ' kann nicht in 'Int' konvertiert werden.'/> Der Typ 'System.Linq.IQueryable <Int>' kann nicht in 'Int' konvertiert werden. | germanylandofinnovation.com

Frage Der Typ 'System.Linq.IQueryable ' kann nicht in 'Int' konvertiert werden.


Ich habe ein Problem beim Senden von Daten aus der Datenbank an eine Liste im Controller. Ich bin neu in C # und MVC, also wird jede Hilfe nützlich sein! Code folgt

public static List<FilterTree> GetAllUsers()
    {
        FilterTreeDBContext db = new FilterTreeDBContext();
        var userList = new List<FilterTree>();
        var device =  new FilterTree();
        //This is the line where I get the error
        device.ID = from a in db.FilterTree select a.ID;

        userList.Add(device);
        return userList;
    }

Danke & Frohe Feiertage !! :)


6
2017-12-18 14:18


Ursprung


Antworten:


device.ID = (from a in db.FilterTree select a.ID).First();

Die Linq-Abfrage ist faul und wird erst ausgeführt, nachdem Sie den Wert angefordert haben

Übrigens vergessen Sie nicht, den Kontext zu schließen, sonst werden Sie Verbindungen verlieren

using (var db = new FilterTreeDBContext())
{
    ...
    return userList;
}

12
2017-12-18 14:20



Soweit das Framework weiß, dass die Abfrage mehr als ein Objekt haben kann, verwenden Sie es wie folgt:

device.ID = (from a in db.FilterTree select a.ID).FirstOrDefault();

2
2017-12-18 14:21