Я вручную вызываю хранимую процедуру, используя Entity Framework EntityConnection, например:
DbConnection storeConnection = entityConnection.StoreConnection;
DbCommand command = storeConnection.CreateCommand();
command.CommandText = "sp_GetMyComplexData";
command.CommandType = CommandType.StoredProcedure;
DbDataReader reader = command.ExecuteReader();
Причина этого в том, что структура сущностей не может легко поддерживать сущности, которые не отображаются напрямую в таблицы или представления. Я нашел эту статью (http://dotnet.dzone.com/news/mapping-stored-procedure),, но она требует редактирования XML, чего я хотел бы избежать.
В моем случае я просто запускаю запрос, который объединяет две таблицы, используя LEFT JOIN. Причина этого в том, что я пытаюсь связать результаты с Telerik RadGrid, который не поддерживает экспорт иерархических данных, но, похоже, поддерживает экспорт сгруппированных данных.
Проблема в том, как мне преобразовать объект DbDataReader во что-то полезное, что я могу привязать к моей RadGrid? Я передавал отдельные объекты или объекты IQueryable в моих методах DAL. Есть идеи? Заранее спасибо?
EDIT:
Мне нужны только данные. Мне не нужно делать какие-либо вставки, обновления, удаления после этого. Представление только для чтения.