Я использую Linq для сущностей, чтобы запросить базу данных, чтобы получить список int для дальнейшей обработки. У меня есть два пути, чтобы получить список, как показано ниже:Производительность: .Join vs .Contains - Linq to Entities
Первый вопрос:
List<int> lstBizIds = new List<int>() { 1, 2, 3, 4, 5 };
List<int> lstProjectIds = context.Projects.Where(x => lstBizIds.Contains(x.businessId)).Select(x => x.projectId).ToList();
Во-вторых:
List<int> lstBizIds = new List<int>() { 1, 2, 3, 4, 5 };
List<int> lstProjectIds = context.Projects.Join(lstBizIds, p => p.businessId, u => u, (p, u) => p.projectId).ToList();
Теперь мой вопрос, который один из методов выше лучшая производительность? Также влияет ли это на производительность, если первый список i.e lstBizIds растет в размерах? Предложите мне другие способы реализации, если это сокращение производительности.
Вы уверены, что сначала первый вариант? Выполняется ли запрос и дает результат? – Sefe
Да, определенно это сработает. –
Извините, я имел в виду второй вариант. Во всяком случае, я полагаю, вы успешно пробовали оба. – Sefe