Bekommen Wert von "Var" variable
Ich versuche, eine Zeile aus meinem SQL-Server-Datenbank. Ich weiß nicht, wie um es zu bekommen ich habe versucht, viele Möglichkeiten, aber ich coludn nicht bekommen, eine gute Lösung.
databasEntities db = new databasEntities();
var medlem = from medlemar in db.medlemar
where medlemar.namn == "Ali"
select medlemar;
Hier ist meine Datenbank-Tabelle Medlemar
:
- id
- namn
- losen
- epost
- Was ist das problem mit deinem code? Tun, hast du irgendwelche Fehler? poste es bitte.
- Was ist Ihre aktuelle code zurück? Was wollen Sie es zurück?
- Das problem ist, dass ich möchte, um den Wert habe ich in der Datenbank, wie ich die Daten die in der Spalte "losen" in der Tabelle "medlemar". Wenn ich es schreiben wie, dass Label1.Text = medlem.ToString(); bekomm ich diese auf der Seite System.Daten.Objekte.ObjectQuery`1[WebApplication2.medlemar]
Du musst angemeldet sein, um einen Kommentar abzugeben.
medlem wird eine Sammlung von Objekten, so dass Sie sollten in der Lage sein zu verwenden, foreach-oder .ersten auf, dass.
oder
In C#
var
ist nicht ein typeless geben. Es ist eigentlich eine Art implizit die Eingabe-Objekte, ohne dass Sie den gesamten Namen eingeben.Beispiel:
und
kompilieren, um genau den gleichen IL.
Also in deinem Fall, die LINQ ist wieder ein
IEnumerable<T>
Sammlung, wobei T der Typ von Ihrmedlemar
Objekt.Da es ist eine Sammlung, auf die Sie zugreifen müssen es genauso wie jede andere Sammlung. Eine Möglichkeit ist die Verwendung
foreach
Andere Möglichkeit ist das aufrufen
ToList()
und dann den Zugriff auf einzelne Mitglieder von index:Oder wenn Sie nur wollen, um das erste Objekt in der Sammlung, haben Sie mehrere alternativen, je nach Anwendungsfall:
Jede der oben grob die gleiche Sache, aber wird sich anders Verhalten, wenn die Sammlung besteht aus null oder mehreren Objekten.
Single()
zurück, die nur Objekt in einer Sammlung. Wenn die collection enthält mehrere Objekte oder null, wird eine Ausnahme geworfen. EbensoSingleOrDefault()
wird eine exception werfen wenn es mehrere Objekte, aber zurückkehren wird der Wert zurückgegeben, indemdefault(T)
(normalerweise null ist, außer wenn T ein Werttyp ist).First()
undFirstOrDefault()
auch die gleiche Weise Verhalten, woFirst()
wird eine exception werfen wenn die Sammlung leer ist undFirstOrDefault()
Standardwert zurück. Sie unterscheiden sich von denSingle..()
Methoden, dass Sie immer wieder das erste Mitglied, wenn eine Sammlung mehrerer Werte.Also im Grunde
FirstOrDefault()
wird nie eine exception werfen, es sei denn, die Sammlung selbst ist null. Die anderen Varianten, wird eine Ausnahme ausgelöst, die in einem oder mehreren Fällen, je nach Inhalt derIEnumerable<T>
Sammlung.Ich glaube, Sie brauchen, um zu verwenden
FirstOrDefault()
etwas wie:Gibt es andere Optionen, die Sie verwenden können, neben
FirstOrDefault()
:Single
gibt ein einzelnes Element wieFirstOrDefault()
aber es wird eine exception werfen, wenn es entweder keiner oder mehr als ein Element.Ersten
gibt auch ein einzelnes Element, sondern werfen, wenn es kein Element.Aber im Fall der
FirstOrDefault()
es wird wieder das erste Element oder null zurück, wenn kein Element-oder genauer: