This is a long shot but would this LINQ expression change anything?
(from uno in context.Unos
join duo in context.Duos on uno.CommonId equals duo.CommonId
where uno.Amount > 0 && duo.Type == 2
select new {Uno = uno, Duo = duo}
).ToList()
I like this form better because it looks like the real SQL request. Somehow, the Join statement in your LINQ bothers me...