I have class :
class Entity
{
public string Name { get; set; }
public bool IsMain { get; set; }
}
I'm getting data from DB using GroupBy
:
var grouppedEntitiesByName = context.GetEntities<Entity>().GroupBy(en => en.Name);
I have some data in DB:
IsMain = true, Name = "entity"
IsMain = false, Name = "entity"
IsMain = true, Name = "Entity"
I'm using grouped entities like this:
foreach (var entity in grouppedEntitiesByName)
{
var mainEntity = entity.Single(a => a.IsMain);
}
Here I'm getting Sequence contains more than one matching element
exception. Grouped entities has one key entity
and three items:
IsMain = true, Name = "entity"
IsMain = false, Name = "entity"
IsMain = true, Name = "Entity"
Then I tried this:
var grouppedEntitiesByName = context.GetEntities<Entity>().ToList().GroupBy(en => en.Name);
Here grouped entities has two key:
entity
and Entity
Why group by is working incorrect in IQueryable
and how to fix this?
(I'm using EF)