我正在使用实体框架 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 的有用对象?我一直在我的 DAL 方法中传递单个对象或 IQueryable 对象。有任何想法吗?提前致谢?
编辑:
我只需要数据。之后我不需要做任何插入、更新、删除。它是一个只读视图。