Если вы используете Mozilla Firefox, он будет работать как ожидалось без каких-либо проблем;
P.S. Даже IE_Edge работает отлично, удивительно !!
Проблема с вашим кодом:
var car = unitOfWork.CarRepository.Get().Where(u => array.Any(x => x == u.Id));
Вы запрашиваете список (unitOfWork.CarRepository.Get()
), который всегда будет содержать счет 0, поскольку аргументы не были переданы), поэтому он никогда не будет дайте результат.
Я также не уверен, какое выражение следует передать, но есть обходное решение. Вероятно, кто-то предоставит вам лучший ответ, но до тех пор, пока вы не сможете его использовать.
В вашем репозитории должен быть метод для извлечения одной записи say FindSingleOrDefault()
. Если FindSingleOrDefault()
не существует, вы можете вставить этот код
public TEntity FindSingleOrDefault(Expression<Func<TEntity, bool>> predicate)
{
return _context.Set<TEntity>().SingleOrDefault(predicate);
}
, чтобы вы могли его использовать.
List<Car> cars=new List<Car>();
foreach(var id in array)
{
cars.Add(unitOfWork.CarRepository.FindSingleOrDefault(x=>x.id==id));
}
Cars
будет содержать все записи автомобиля с соответствующими id.
Если это не был шаблон репозитория, тогда простой запрос linq был бы похож на
var cars = (from id in array
join car in dbSet.Cars
on id equals car.id
select car).ToList();
. Дайте мне знать, если вы сталкиваетесь с проблемой применения этого ответа.