简体   繁体   中英

Join two tables with key in common and show on a datagrid c# linq

I need to join the two tables of a DataGrid, but I only want the values with the same id (idviagem is pk in table idviagem and is fk in table idpassageiro)

I don't know how to do the query, in that moment I only take the table tbpassageiro on the grid, and I want to join them on DataGrid when the keys are equals

using (checkinEntities1 db = new checkinEntities1())
{

    var qcheckin = (from c in db.tbpassageiro
                    join g in db.tbviagem on c.idviagem equals g.idviagem
                    where c.idviagem == g.idviagem
                    select c).ToList();

     gridpass.ItemsSource = qcheckin;

}

The binding I know 100% is correct (some values from table passageiro and the other Biding values from table tbviagem)

This what I want to do:

在此处输入图片说明

If you want columns from both tables, then you have to create a view model for the columns which you want from both tables.

using (checkinEntities1 db = new checkinEntities1())

{

var qcheckin = (from c in db.tbpassageiro
                join g in db.tbviagem on c.idviagem equals g.idviagem
                where c.idviagem == g.idviagem
                select new viewModelName()
                {
                    //get the column values here like
                    Hora = c.Hora,
                    Partida = g.Partida
                }).ToList();

 gridpass.ItemsSource = qcheckin;

}

Hope this will give you the answer you are looking for.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM