Используя следующий код, я не получаю записи, отличные от ID. Почему это?Не возвращать отдельные записи при использовании Distinct()
List<string> products = new List<string>();
products.Add("13CONV");
products.Add("12CONV");
products.Add("11CONV");
products.Add("10CONV");
products.Add("09CONV");
products.Add("08CONV");
products.Add("07CONV");
var predicate = PredicateBuilder.True<Services>()
.And(m => products.Contains(m.Service));
var Results = from d in Services.Distinct()
.Where(predicate)
select d.ID;
таблицы базы данных (услуги) является:
ID Service
==
400 13Conv
401 13Conv
400 12Conv
400 07Conv
400 11Conv
Используя данные выше я получаю количество 5 записей, когда я ожидал бы 2.
Поле ID является строкой в DB.
Не уверен, что я понимаю ваш последний вопрос. –
Я думаю, что я имею в виду тот факт, что вы не предоставили информацию, чтобы предлагать (и это нельзя сделать вывод), которая была бы правильной для ID = 400 и ID = 401. Уверен, что вы не хотите, чтобы группа «вместо» была отличительной? – Rich
Я бы ожидал, что он будет вести себя так же, как SQL Distinct. Мне не нужны данные служб, которые мне нужны только для уникальных идентификаторов. –