2009-04-16 7 views
5

In einer LINQ to SQL-Anweisung habe ich einen Spaltennamen in der Datenbank, die auch ein C# -Schlüsselwort (void) ist. Wie bekomme ich den Compiler, dies als eine Objekteigenschaft und nicht das Schlüsselwort zu behandeln?LINQ to SQL-Spalte hat Schlüsselwort als Spaltenname, wie zu quote/escape

Ich konnte dies in der Methode Notation neu schreiben, sicher, aber es muss doch einen Weg zu geben, den Compiler einen Hinweis hier zu geben ...

var p = from c in mytable 
     where c.id = rowNumber 
     select (new { voidedState = c.void }); // <--- Problem is here 

Der Fehler ist:

Identifier expected; 'void' is a keyword 

Ich kann nicht damit argumentieren, ich bin nur auf der Suche nach einem Workaround.

Danke.

Antwort

20

Precede die Kennung mit einem „@“:

@void 

Ist der Name einer Kennung „ungültig“, nicht das Schlüsselwort (das funktioniert überall eine Kennung benötigt wird).

+0

Ich habe überall nach diesem gesucht. Vielen Dank. –