| 

.NET C# Java Javascript Exception

2
Hallo,

gibt es eine einfache Möglichkeit in einem Lambda-Ausdruck oder mit Linq Daten für ein Select-Box hinzuzufügen?
Ich habe in einer Tabelle also Daten für Mengeneinheiten mit einer Id und einer Description. Diese hole ich per
VievBag.Me = _db.QuantityUnits.Select(r => r);

Das funktioniert soweit ganz gut. Ich möchte jetzt aber noch einen Wert mit der Id = 0 und Description="-- Bitte wählen --" hinzufügen.

Danke für Eure Hilfe
News:
16.06.2011
Torsten Menze 103 4
6 Antworten
0
Servus. Vermutlich musst du mit 2 Schritten das Problem lösen. Aber vorher: Welchen Typ hat ViewBag.Me und QuantityUnits?
16.06.2011
Thomas Sczyrba 1,3k 1 1 9
QuantityUnits ist ein DbSet der Klasse QuantityUnit
public class QuantityUnit
{
public virtual int Id {get; set;}
public virtual string Descrition {get; set}
}
Torsten Menze 16.06.2011
0
Hier nochmal an der vielleicht richtigen Stelle:

QuantityUnits ist ein DbSet der Klasse QuantityUnit

public class QuantityUnit
{
public virtual int Id {get; set;}
public virtual string Description {get; set}
}
16.06.2011
Torsten Menze 103 4
0
Das geht nur in 2 Schritten da Add oder Insert immer nur auf eine List angewand werden können und keinen Rückgabetyp haben:

VievBag.Me = _db.QuantityUnits.Select(r => r);
VievBag.Me.Insert(0, new QuantityUnit{Descrition ="-- Bitte wählen --",Id = 0});
16.06.2011
HischLock 73 4
0
Das funktioniert leider nicht. Da bekomme ich den Fehler:
System.Data.Entity.Infrastrucure.DbQuery<Application.Models.QuantityUnit> enthält keine Definition für Insert.

Der Fehlermeldung nach zu urteilen, sind die Daten an dieser Stelle noch nicht verfügbar sondern nur ein DbQuery-Object?
16.06.2011
Torsten Menze 103 4
0
Hier eine Lösung
var qu = new List<QuantityUnit> {new QuantityUnit {UnitId = 0, Description = "Bitte Wählen"}};
qu.AddRange( _db.QuantityUnits.ToList());
ViewBag.Me = qu;


(Falls jemand das Problem auch hat.)
17.06.2011
Torsten Menze 103 4
0
Hier nochmal eine bessere Lösung:

im Controller
ViewBag.QU = new SelectList(_db.QuantityUnits, "UnitId", "Description");

in der View
@Html.DropDownListFor(model => model.Qu, (SelectList) ViewBag.QU, "Bitte wählen")
24.06.2011
Torsten Menze 103 4

Stelle deine .net-Frage jetzt!