получить дубликаты из таблицы, используя linq для сущностей - PullRequest
3 голосов
/ 31 октября 2010

В моей базе данных я получил столбец с именем hashcode. В этом столбце хранятся хэш-коды изображений. Я хочу выполнить запрос, который ищет дубликаты хеш-кодов, используя linq для сущностей.

Я застрял с предложением «где». Как сравнить хеш-коды?

var ans = this.pe.TPicture.Where(p => this.pe.TPicture.Count(x => x.Equals(p)) > 1);

1 Ответ

1 голос
/ 31 октября 2010

Вы можете использовать count также для изучения linq-запроса см. http://msdn.microsoft.com/en-us/vcsharp/aa336746.aspx

в вашем случае

entities.Where(p => entities.Count(x => x.Equals(p)) > 1);

порядок запроса выше O(n^2) но вы можете сделать это просто с помощью приведенного ниже кода в O(n log(n))

            entities.Sort();

            List<x> repeatedItems = new List<x>();

            if (entities.Count > 1)
            {
                if (entities[0].Equals(entities[1]))
                {
                    repeatedItems.Add(entities[0]);
                }
            }

            for (int i=0;i<entities.Count;i++)
            { 
                if (i < entities.Count -1)
                {
                    if (entities[i].Equals(entities[i+1]))
                    {
                        repeatedItems.Add(entities[i+1]);
                    }
            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...