Leerer Spalten oder Objektname bei LINQ-To-SQL Anweisung


Mirar

Mitglied
Hallo Zusammen :)

Ich bin mir jetzt nicht ganz sicher ob ich mit meiner Frage hier richtig bin daher bitte nicht köpfen falls ich falsch liege ;)

Es geht um folgendes:

Ich habe auf meinem Rechner mittels Microsoft SQL Server Management Studio 2008 R2 eine Datenbank erstellt.
Darin befindet sich eine Tabelle [dbo].[Person]. Diese hat folgende Spalten:

Spaltenname: Datentyp:

PersonID int
FirstName nvarchar(50)
LastName nvarchar(50)
LoginName nvarchar(50)
Birthdate nchar(8)
Gender varchar(6)
Street nvarchar(50)
Postalcode nchar(5)
IsAdmin int
Password nvarchar(20)

Es sind keine NULL-Werte zugelassen.
Die Tabelle ist außerdem zur Zeit noch nicht gefüllt (war es im Zuge einiger Tests aber bereits mehrfach)

Nun will ich mittels LINQ to SQL aus meinem Programm auf diese Tabelle Zugreifen.
Hier der Code dafür:

C#:
List<Person> persons = (from p in this.db.Person
                                       where p.LoginName == this.txtLoginName.Text.ToLower()
                                       select p).ToList();

Das ist auch die Stelle an der ich die folgende Fehlermeldung bekomme:

Ein Objekt- oder Spaltenname fehlt oder ist leer. Überprüfen Sie für SELECT INTO-Anweisungen, ob jede Spalte einen Namen aufweist. Suchen Sie für andere Anweisungen nach leeren Aliasnamen. Mit '' oder [] definierte Aliase sind nicht zulässig. Ändern Sie den Alias in einen gültigen Namen.

Wenn ich diesen Code in einem anderen Umfeld laufen lasse funktioniert er aber. Mir ist bewusst das ich hierbei auch eine leere Liste wiederbekommen kann, was auch so beabsichtigt ist.
Aber leider verstehe ich an dieser Stelle nicht wieso ich diesen Fehler bekomme und wie ich Ihn beheben kann. Im Anhang befindet sich noch ein Screenshot von der Tabelle welche ich im Datacontext sehen kann.

Ich hoffe ihr könnt mir damit helfen.

Danke im Voraus
Mirar
 

Anhänge

  • LINQ_Person-Table.JPG
    LINQ_Person-Table.JPG
    18,2 KB · Aufrufe: 140
Zuletzt bearbeitet:

Hale

Mitglied
Hallo Mirar,

hast du schon mal versucht dein Ergebnis in eine Variable vom Typ "var" zu speichern und diese dann deiner Liste zuzuweisen?

Tritt das Problem auch auf, wenn du Daten in deiner SQL-Tabelle hast?

Gruß
Hale
 

Mohag

Mitglied
wie willst du denn was laden was nicht da ist?

und da du die resource so vorgegeben hast das nich null sein darf mekert er rum.. try { } catch {} drum herum exception abfangen und warten bis der erste datensatz gespeichert ist.

mfg

edit:
er interpretiert die letzte zeile (newrow) der tabelle und reagiert darauf.