2017-04-17 9 views
-3

MVCでタプルを使用する方法5私は同じビューに2つのモデルを使用することができますし、私は私のコントローラでこれをやったように、タプルを使用しようとしている

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); 
}  

が、私はこれだ:

私は何をすべきか分からない?どのようにタプルを使うのですか?

これはエラーです:

はWebApplication.Models.log_voyage

にsystem.Linq.IQueryable

答えて

0

var first = entities.log_voyage.Where(v => v.Num_Voy == lastVoyageID)戻りコレクションを変換することはできませんが、それはする必要がありますので、タプルは、単一のオブジェクトのために期待します。あなたが最後にTuple<log_voyage, List<log_ligne_voyage>>

としてタプルの署名を変更する場合があります

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

そして、この表現は、コレクションを返し、タプルがただ一つのオブジェクトのために求めて再び

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

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).FirstOrDefault(); 
    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, List<log_ligne_voyage>>(first, second); 
    return View(t); 

} 
関連する問題