Можно ли выполнить группировку объекта?
from item in context.Items
group item by item.MyObject
select ...
Где Item.MyObject — это простой объект, такой как:
public class MyObject {
public int SomeValue { get; set; }
public string SomeName { get; set; }
public string SomeOtherProperty { get; set; }
}
Очевидно, я мог бы сделать следующее:
from item in context.Items
group item by new { item.SomeValue, item.SomeName, item.SomeOtherProperty }
select ...
Однако при группировке по объектам с большим количеством свойств этот подход утомителен и подвержен ошибкам.
Приведенный выше код приводит к NotSupportedException со следующим сообщением: «Тип селектора ключа для вызова метода 'GroupBy' не сопоставим в базовом поставщике хранилища». Переопределение Equals и GetHashcode не имеет никакого эффекта. Я предполагаю, что реальная проблема заключается в том, что структура сущностей не знает, как выразить SQL...?