I have 2 tables. 

First table's schema:

* UserId: 11, ReportId=1400
* UserId: 25, ReportId=1510
* UserId: 30, ReportId=1518
* UserId: 41, ReportId=1550
* UserId: 50, ReportId=1590

Second table's schema:

* UserId: 50, ReportId=1400, DeptId=10
* UserId: 80, ReportId=1510, DeptId=10
* UserId: 20, ReportId=1518, DeptId=10
* UserId: 41, ReportId=1550, DeptId=10
* UserId: 50, ReportId=1590, DeptId=10
* UserId: 60, ReportId=1525, DeptId=10
* UserId: 90, ReportId=1526, DeptId=10
* UserId: 50, ReportId=1410, DeptId=10
* UserId: 50, ReportId=1489, DeptId=10
* UserId: 50, ReportId=1327, DeptId=10

I need to change first table's UserId to second table's UserId where ReportId's are same.

I mean:

* UserId: **50**, ReportId=1400
* UserId: **80**, ReportId=1510
* UserId: **20**, ReportId=1518
* UserId: **41**, ReportId=1550
* UserId: **50**, ReportId=1590

```
List<FirstTable> tableFirst = new List<FirsTable>();
tableFirst = FirstTableBL.GetAll();

List<SecondTable> tableSecond= new List<SecondTable>();
tableSecond= SecondTableBL.GetAll();

for (int i = 0; i < tableSecond.Count(); i++)
{
    tableSecond[i].UserId= tableFirst.FirstOrDefault(k => k.ReportId== tableSecond[i].ReportId).UserId;
}

```

But I get a Null definition error because tableSecond does not have all values of tableFirst.

What's the correct linq expression for this situation?