實體框架6實體框架 - 讓所有重複的人
我有一個Person實體
ID
FirstName
LastName
我需要製作具有所有具有相同人名單的報告名字和姓氏。分組讓我成爲名字,但不是所有的ID。
所以我需要所有的人全實體是重複的:
117 John Smith
247 John Smith
是一個查詢,以獲得重複可能嗎?
實體框架6實體框架 - 讓所有重複的人
我有一個Person實體
ID
FirstName
LastName
我需要製作具有所有具有相同人名單的報告名字和姓氏。分組讓我成爲名字,但不是所有的ID。
所以我需要所有的人全實體是重複的:
117 John Smith
247 John Smith
是一個查詢,以獲得重複可能嗎?
如果你做這樣的事情(假設pers
是人的牽強使用EF名單從DB):我
var x = pers.GroupBy(p => p.FirstName + p.LastName).Where(g => g.Count() > 1).Select(g => g.ToList());
,你會獲得一個IEnumerable<List<Person>>
,其中每個表都有每個人的所有屬性(假設一個Person類有相應的屬性)。
因此,例如,你現在可以做的事:
foreach(var y in x)
{
foreach(var z in y)
{
Console.WriteLine(string.Format("{0}: {1} {2}", z.ID, z.FirstName, z.LastName));
}
}
乾杯
GroupBy
將做到這一點。訣竅就是你如何從組中選擇。
var dupes = people.GroupBy(e => new { e.FirstName, e.LastName })
.Where(e => e.Count() > 1)
.Select(e => new
{
e.Key.FirstName,
e.Key.LastName,
Entities = e.ToList()
});