Ich habe ein Klasse in meinem Programm wie folgt:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| public class Einstellung { public int ID { get; set; } public string Name { get; set; } public string Wert { get; set; }
public Einstellung() {
} public Einstellung(string name, string wert) { this.Name = name; this.Wert = wert; }
} |
Des Weiteren habe ich eine LINQ Klasse wie folgt:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| <Table Name="dbo.Einstellungen" Member="Einstellungen"> <Type Name="Einstellungen"> <Column Name="SatzId" Type="System.Int64" DbType="BigInt NOT NULL IDENTITY" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" /> <Column Name="Benutzerid" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" /> <Column Name="Name" Type="System.String" DbType="VarChar(50) NOT NULL" CanBeNull="false" /> <Column Name="Wert" Type="System.String" DbType="VarChar(MAX) NOT NULL" CanBeNull="false" /> <Association Name="Benutzer_Einstellungen" Member="Benutzer" ThisKey="Benutzerid" OtherKey="BenutzerId" Type="Benutzer" IsForeignKey="true" /> </Type> </Table> |
(oder als Bild im Anhang)
Die LINQ-Klasse EInstellungen hängt an einer weiteren LINQ-Klasse Benutzer. Der Benutzer hat mehrere Einstellungen, also habe ich doch eine Art List<Einstelklungen> am Benutzer, oder?
Dann habe ich den Benutzer ausgelesen wie folgt:
C#-Quelltext
1: 2: 3: 4:
| lBenutzerDataContext _dc = new lBenutzerDataContext(); var _us = (from t in _dc.Benutzer where t.BenutzerId == benutzerid select t).FirstOrDefault (); |
Jetzt versuche ich in die EInstellungen der LINQ Abfrage in meine List<Einstellung> zu bekommen.
Habe folgendes versucht:
C#-Quelltext
1: 2:
| List<Einstellung> _e = new List<Einstellung>(); _e = _us.Einstellungen; |
Geht nicht genuasowenig wie die hier:
C#-Quelltext
1: 2:
| List<Einstellung> _e = new List<Einstellung>(); _e = _us.Einstellungen.ToList(); |
C#-Quelltext
1: 2:
| List<Einstellung> _e = new List<Einstellung>(); _e = (List<Einstellung>)_us.Einstellungen; |
Bei dem hier:
C#-Quelltext
1: 2:
| List<Einstellung> _e = new List<Einstellung>(); _e = (List<Einstellung>)_us.Einstellungen.Cast<Einstellung>(); |
Bekomme ich zumidest vom VS keine Fehlermeldung, aber mein komplettes Programm stürzt mir ab!
Ich hoffe mir jemand helfen.
Timo
Moderiert von
Kha: Formatierung angepasst.