C# Elemente der Liste<()> unterteilt in Items; Item8 oder höher nicht aufrufbar. Wieso?

preqi

Cadet 4th Year
Registriert
Jan. 2020
Beiträge
88
Ich (Anfänger im Programmieren) habe folgendes Problem:

Ich lese aus einer Datenbank Elemente einer Liste raus. Diese sind unterteilt in Items. Bsp:
Liste(Element1[Item1, Item2, ...]...)
Hier wird das aus der DB rausgelesen:
1579689228770.png


Hier ist der Controller:
1579689317513.png


Und hier meine View:
1579689373530.png


Im Grunde rufe ich alle Items mit @variable.ItemNummer auf. Das hat immer funktioniert, solange ich ein Item zwischen 1-7 aufgerufen habe.
Wenn ich also @job.Item8 oder höher aufrufen möchte, bekomme ich beim debuggen den Fehler: "Item 8 existiert nicht".
Ich hoffe der Fehler liegt bei mir und nicht an der Datenbank...
Ist es möglich dass man max. 7 Items aufrufen kann...?
 
Hm, das sieht aus als würde er einen Tuple zusammenbauen. Ich würde an der Stelle eher auf eine Klasse setzen, dessen Objekte du zurück gibst. Hat auch den Vorteil, dass du deiner Razor-Page mehr Semantik verleihst.
 
  • Gefällt mir
Reaktionen: nApfelkuchen+SL und preqi
Tuple

...Bin zu Spät. Stimme SomeDifferent zu.
Mach ein Klasse "Job" mit Eigenschaften entsprechend deiner Sql Abfrage (Name und Datentyp sollen übereinstimmen):

public class JobFromDB
{
public Guid Id {get;set;}
public DateTime JobCreated {get;set;}
.....
}

dann hast als Rückgabewert von GetJobList was vom Typ List<JobFromDB>.
Dia Abfrage (mittels Dapper denk ich?) wäre dann connection.Query<JobFromDB>(sql);
 
  • Gefällt mir
Reaktionen: SomeDifferent und preqi
Zurück
Oben