Entity Framework GroupПо объекту или сложному типу

Можно ли выполнить группировку объекта?

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...?

10
задан mindlessgoods 20 April 2012 в 00:06
поделиться