2017-04-17 4 views
-3

Ich versuche Tupeln zu verwenden, so I 2 Modelle in der gleichen Ansicht verwenden kann, und ich habe dies in meinem Controller:wie man verwendet Tuple in MVC 5

public ActionResult Index(int id = 0) 
{ 
    int lastVoyageID = entities.log_voyage.Max(item => item.Num_Voy); 

    var first = entities.log_voyage.Where(v => v.Num_Voy == lastVoyageID); 
    log_voyage voyage1 = entities.log_voyage.Find(lastVoyageID); 
    var second = entities.log_ligne_voyage.Where(x => x.NUM_Voy == lastVoyageID).ToList(); 
    var t = new Tuple<log_voyage, log_ligne_voyage>(first, second); 
    return View(t); 
}  

aber ich habe diese:

Ich weiß nicht, was ich tun soll? Wie verwende ich Tupel?

dies ist der Fehler:

Kann nicht System.Linq.IQueryable in WebApplication.Models.log_voyage konvertieren

Antwort

0

var first = entities.log_voyage.Where(v => v.Num_Voy == lastVoyageID) kehrt Sammlung aber Tuple erwartet für ein einzelnes Objekt, so dass es sein sollte;

var first = entities.log_voyage.Where(v => v.Num_Voy == lastVoyageID).FirstOrDefault()

Und dieser Ausdruck gibt Sammlung und Tuple sucht nur ein Objekt wieder

var second = entities.log_ligne_voyage.Where(x => x.NUM_Voy == lastVoyageID).ToList()

Sie könnten die Tuple Signatur als Tuple<log_voyage, List<log_ligne_voyage>>

Schließlich ändern möchten,