Я пытаюсь реорганизовать этот запрос к EF запроса:Найти все дубликаты записей в таблице SQL с Entity Framework с помощью нескольких colums
SELECT
PS_Adressen.AdName, PS_Adressen.AdVorname,
PS_Adressen.AdStrasse, PS_Adressen.AdStrasseNr, PS_Adressen.AdPLZ6
FROM
PS_Besuch
JOIN
PS_Adressen ON PS_Besuch.BeAdNr = PS_Adressen.Adnr
WHERE
BeAbMonat = @Month
AND BeHostessNr = @Nr
AND (PS_Besuch.BeKoffer = 1 OR PS_Besuch.BeKoffer = 2
OR PS_Besuch.BeKoffer = 3)
GROUP BY
PS_Adressen.AdName, PS_Adressen.AdVorname,
PS_Adressen.AdStrasse, PS_Adressen.AdStrasseNr, PS_Adressen.AdPLZ6
HAVING
COUNT(BeNr) > 1
Я нашел этот пост: Find all duplicate records in SQL table with Entity Framework
Но это только позволяет мне проверьте, является ли одно значение, подобное имени, дублирующимся, но не разными столбцами.
Я начал с:
var query = from visit in db.Visits
join address in db.Addresses on visit.AddressId equals address.Id
group address by new {
address.Name,
address.Prename,
address.Street,
address.StreetNr,
address.Zip,
address.ZipLong,
visit.VisitNr
} into temp
select new {
Name = temp.Key.Name,
Prename = temp.Key.Prename,
Street = temp.Key.Street,
StreetNr = temp.Key.StreetNr,
Zip = temp.Key.Zip,
ZipLong = temp.Key.ZipLong,
VisitNr = temp.Key.VisitNr
};
var list = query.Where(x => x.VisitNr.Count() > 1).ToList();
Но здесь, где положение не является правильным. Что-то с графом кажется неправильным.
Может ли кто-нибудь сказать мне, что я делаю неправильно?
Благодаря NPadrutt
Не могли бы вы указать, что конкретно у вас возникли проблемы с? Если вы вообще не знаете, с чего начать, переведя SQL в LINQ to Entities, вам нужно будет пройти некоторые учебные пособия по EF. –
Я могу выбрать и сгруппировать, но тогда я не смог найти способ перевести это на Linq .. Я добавил код моего последнего кода. Поскольку я уже много пробовал, группировка уже вне запроса. – NPadrutt
Спасибо за добавление кода, который помогает. Не могли бы вы показать, что вы на самом деле используете для третьего параметра, так как вы говорите, что проблема возникает? –