Вернуть пользовательский объект <List T> из среды Entity и назначить источнику данных объекта

Мне нужно некоторое руководство по проблеме, я использую Entity Framework 4.0, у меня есть DAL и BLL и я привязываю к ObjectDataSource на странице.

Я должен был написать хранимую процедуру, используяPIVOT и динамический SQL для возврата данных из нескольких объектов так, как я хочу. Теперь я пытаюсь выяснить, как заставить Entity Framework возвращать пользовательский объект, который я могу привязать к своемуObjectDataSource на странице мне НУЖНО использовать пользовательский объект или динамический объект, поскольку хранимая процедура может возвращать любое количество столбцов, поэтому я не могу использовать строго типизированный класс или сущность, и мне также нужно иметь возможность связать это сObjectDataSource.

Может кто-нибудь указать хороший способ сделать это и как определить мою функцию? С некоторыми примерами кода, пожалуйста.

Я прочитал, что я должен попытаться использоватьList<T>&nbsp;для возврата объекта, так как EF не поддерживает возврат наборов данных / наборов данных, у меня пока есть следующее, но я знаю, что это не правильно.

Я не много работал с дженериками, если бы вы могли указать, как это сделать, я уверен, что это будет полезно для многих людей. Пожалуйста, предоставьте примеры кода для функции и как связатьObjectDataSource&nbsp;к возвращаемому объекту?

Ваша помощь очень ценится!

Спасибо за вашу помощь, Ричард, именно так сейчас выглядит моя функция, основанная на вашем предложении использовать DbDataRecord.

Функция C # дляObjectDataSource&nbsp;в DAL

public List<DbDataRecord> GetData(int product_id)
{
    List<DbDataRecord> availableProducts = new List<DbDataRecord>();

    var groupData = context.ExecuteStoreQuery<DbDataRecord>("exec 
  spGetProducts @ProductID={0}", product_id);

    availableProducts = groupData.ToList<DbDataRecord>();

    return availableProducts;
}

ObjectDataSource&nbsp;на странице ASPX

<asp:ObjectDataSource ID="ODSProductAvailability" runat="server"
        TypeName="Project.BLL.ProductBL" 
        SelectMethod="GetData"  >
     <SelectParameters>
        <asp:SessionParameter Name="product_id" SessionField="ProductID" />
     </SelectParameters>
</asp:ObjectDataSource>

Прямо сейчас я получаю эту ошибку при доступе к странице:

Тип результата «System.Data.Common.DbDataRecord» не может быть абстрактным и должен включать конструктор по умолчанию

Это потому чтоExecuteStoreQuery&nbsp;ожидает быть определенным класс или сущность? Как я могу просто создать объект на основе результатов хранимой процедуры и присвоить ему это?