Попробуйте это:
return Rental.DataObjects.EntityModel.Order item in db.Orders
.Where(x => x.BusinessID == BusinessId)
.Distinct()
.Select(item => OrderMappers.ToBusinessObject(item));
Это должно переместить отдельную операцию в базовый вызов базы данных, поскольку она применяется до того, как запрос материализован - это более эффективно, поскольку дублированные строки не извлекаются с сервера базы данных. Если по какой-то причине вы не хотите этого делать, то проверьте реализацию «равно» (как упомянул Сорин)