2016-04-14 2 views
0

Ich habe gerade angefangen zu lernen C#, und meine Frage kann dumm klingen ...Wie fülle ich eine Liste in meinem Viewmodel aus der Datenbank?

Wie kann ich eine Liste in meinem Viewmodel mit Daten aus meinem db füllen?

Meine Viewmodel:

public class TransferSpecificClientsViewModel 
{ 

    public string TransferFrom { get; set; } 
    public string TransferTo { get; set; } 
    public virtual ICollection<ClientsToTransfer> ClientsToTransferList { get; set; } 

} 

public class ClientsToTransfer 
{ 
    public bool IsSelected { get; set; } 
    public int ClientId { get; set; } 
    public int UserId { get; set; } 
    public string Name { get; set; } 

} 

Und in der Steuerung wahrscheinlich brauche ich so etwas wie:

var model = (from p in db.Clients 
       select new TransferSpecificClientsViewModel() 
       { 
        // And here I need to populate the ClientsToTransferList with data from db.Clients... I think it should probably be something like 
        //ClientsToTransferList.ClientId = p.Id 
        //ClientsToTransferList.UserId = p.UserId 
        //ClientsToTransferList.Name = p.Name }); 

Aber für jeden Client in meiner Datenbank

Ich weiß nur nicht, wie man es machen Arbeit ... Und ich bin neu in C# Ich weiß nicht, wie ich richtig danach suche, was ich versuche ...

Antwort

1

Sie sind wirklich nah dran. Ich würde virtual ICollection<ClientsToTransfer> zu einfach List<ClientsToTransfer> ändern und die Auswahl genau so machen, wie Sie denken.

//...initialize TransferFrom and TransferTo properties of your view model 
model.ClientsToTransferList = 
      (from p in db.Clients 
      select new ClientsToTransfer() 
      { 
       ClientId = p.Id 
       UserId = p.UserId 
       Name = p.Name 
      }).ToList(); 
+1

Vielen Dank für den Versuch, mir zu helfen ... Ich bin mit diesem noch Probleme haben ... Ich habe wie Sie gesagt haben, und ich bekommen „Kann Typ TransferSpecificClientsViewModel nicht initialisiert werden, da es nicht implementieren“ System-Sammlung IEnumerable "ungültiger Initializer-Memberdeklarator" –

+1

Entschuldigung, ich habe die falsche Klasse ausgewählt. Fest. Stellen Sie sicher, dass Ihre Modellvariable vom Typ Ihres Ansichtsmodells ist. – Jakotheshadows

+1

Vielen Dank! Es funktionierte! (Auch ich musste ClientsToTransferList. Aus dem Teil innerhalb der Auswahl entfernen [z. B. in ClientsToTransferList.ClientId]) –

Verwandte Themen