Einfache Linq Frage: Wie wähle ich mehr als eine Spalte aus?

8

Mein Code ist:

%Vor%

Ich brauche diesen Code aber ich möchte nur 3 der 20 Spalten in der "Benutzer" -Tabelle auswählen. Was ist die Syntax dafür?

    
Kovu 09.10.2009, 08:42
quelle

3 Antworten

20

Hier ist ein Abfrageausdruck:

%Vor%

Oder in Punktnotation:

%Vor%

Beachten Sie, dass dies eine Liste mit einem anonymen Typ anstelle von Instanzen von Benutzer zurückgibt. . Persönlich bevorzuge ich diesen Ansatz gegenüber dem Erstellen einer Liste von teilweise bevölkerten Instanzen, da dann jeder, der mit den partiellen Instanzen zu tun hat, überprüfen muss, ob sie gekommen sind, um herauszufinden, was wirklich da ist.

BEARBEITEN: Wenn Sie wirklich Instanzen von Benutzer erstellen möchten und LINQ dies nicht in einer Abfrage erlaubt (ich weiß nicht warum), können Sie immer Folgendes tun:

%Vor%

d. Verwenden Sie den anonymen Typ nur als DTO. Beachten Sie, dass die zurückgegebenen Benutzer -Objekte jedoch keinem Kontext zugeordnet sind.

    
Jon Skeet 09.10.2009, 08:45
quelle
4
%Vor%

Ich denke, das ist es, was Sie wollen, wenn Sie die gleiche Art von Liste machen wollen. Aber das setzt voraus, dass die Eigenschaften, die Sie festlegen, öffentliche Setter haben.

    
qui 09.10.2009 08:45
quelle
1

versuchen:

%Vor%

Aber jetzt haben Sie eine Liste von anonymen Objekten, nicht von Benutzer-Objekten.

    
TheVillageIdiot 09.10.2009 08:45
quelle

Tags und Links