Wie kann ich IQueryablestring in string konvertieren?

8

Ich mache eine SQL-Abfrage, die einen String - Service-Name zurückgibt. Dies ist die Abfrage:

%Vor%

Wie bekomme ich die Zeichenfolge aus der Abfrage?

    
thechmodmaster 04.07.2012, 09:41
quelle

5 Antworten

31

LINQ gibt immer eine Sequenz zurück, so dass Sie das Element daraus abrufen müssen. Wenn Sie wissen, dass Sie nur ein Ergebnis haben, verwenden Sie Single() , um dieses Element abzurufen.

%Vor%

Es gibt vier LINQ-Methoden zum Abrufen eines einzelnen Elements aus einer Sequenz:

  • Single() gibt das Element zurück, löst eine Ausnahme aus, wenn 0 oder mehr als ein Element in der Sequenz enthalten sind.
  • SingleOrDefault() gibt das Element oder den Standardwert zurück ( null für string ). Wird ausgelöst, wenn mehr als ein Element in der Sequenz vorhanden ist.
  • First() gibt das erste Element zurück. Wird ausgelöst, wenn in der Sequenz 0 Elemente vorhanden sind.
  • FirstOrDefault() gibt das erste Element oder den Standardwert zurück, wenn keine Elemente vorhanden sind
Anders Abel 04.07.2012, 09:43
quelle
7

Um das erste Element in Ihrer Abfrage zu erhalten, können Sie query.First() verwenden, aber wenn es keine Elemente gibt, würde dies eine Ausnahme auslösen. Stattdessen können Sie query.FirstOrDefault() verwenden, wodurch Sie entweder die erste Zeichenfolge oder den Standardwert ( null ) erhalten. Also für Ihre Anfrage würde das funktionieren:

%Vor%     
Filip Ekberg 04.07.2012 09:43
quelle
5

Du bist fast da.

Tu es einfach

%Vor%

Oder verwenden Sie query.FirstOrDefault() wie erwähnt, da Sie nur ein Ergebnis erhalten.

    
Davio 04.07.2012 09:44
quelle
1

Ich finde den Weg der Methode schöner und klarer, also hier:

%Vor%     
Alex 04.07.2012 09:45
quelle
-1

Mach es einfach so;

%Vor%

Abfrage enthält dann Ihr Ergebnis.

    
Ebad Masood 04.07.2012 09:47
quelle

Tags und Links