Ungültiger anonymer Mitgliedserklarator in LINQ

8

Ich habe zwei Entitäten. Einer ist "Studenten", während ein anderer "Themen" ist.

Die Details der beiden Entitäten sind etwa wie folgt:

%Vor%

wobei "bestanden" vom booleschen Typ ist.

Nun möchte ich den Namen des Schülers und die Anzahl der Personen, mit denen er bestehen kann, abfragen:

%Vor%

Aber ich erhalte Fehler msg: Ungültiger anonymer Typ member declarator. Anonyme Typ-Member müssen mit einer Member-Zuweisung, einem einfachen Namen oder einem Member-Zugriff deklariert werden.

Ich weiß nicht, wie ich es lösen soll. Würde mir bitte jemand helfen? Danke

    
Eric Cheung 05.04.2013, 18:30
quelle

2 Antworten

14

Dies bedeutet, dass Sie die Eigenschaften Ihres anonymen Typs benennen müssen, die nicht abgeleitet werden können

%Vor%

Normalerweise ist der Eigenschaftsname zwar ausreichend, Sie verwenden jedoch die Count-Methode, sodass die Eigenschaft keinen eigenen Namen hat

    
Justin Pihony 05.04.2013 18:33
quelle
10

Sie müssen anonyme Eigenschaftennamen hinzufügen:

%Vor%

Sie können sie nur überspringen, wenn Sie die Mitgliederzuweisung verwenden. Compiler wird den Namen von diesem Mitglied nehmen. Deshalb kann s.name ohne Angabe des Eigenschaftsnamens angewendet werden. Count() ist ein Ausdruck, daher müssen Sie angeben, wie die Eigenschaft benannt werden soll.

Quelle: Anonyme Typen (C # -Programmierhandbuch)

  

Wenn Sie keine Membernamen im anonymen Typ angeben, der Compiler   gibt den anonymen Typmitgliedern den gleichen Namen wie die Eigenschaft   verwendet, um sie zu initialisieren. Sie müssen einen Namen für eine Eigenschaft angeben, die   wird mit einem Ausdruck (...)

initialisiert
    
MarcinJuraszek 05.04.2013 18:32
quelle

Tags und Links