var query = from a in _DbContext.ProductInfo.AsNoTracking()
join b in _DbContext.FinalAssemKeyPartBindings.AsNoTracking()
on a.ProductInfoID equals b.ProductInfoID
select new { a,b};
var list = query.Where(s => subOrderIds.Contains(s.a.SubManufacturingOrderID))
.WhereIf(isFilterSerialCode, s => s.a.BikeSerialCode.Contains(search.SerialCode))
.WhereIf(isFilterBikeFrameCode, s => s.b.KeyUniqueCode.Contains(search.BikeFrameCode))
.Select(s => new {p = s.a,f = s.b}).ToList();