【发布时间】:2009-03-27 15:46:53
【问题描述】:
我正在使用实体框架 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 对象。有任何想法吗?先谢谢了?
编辑:
我只需要数据。之后我不需要做任何插入、更新、删除。它是一个只读视图。
【问题讨论】:
标签: c# entity-framework datareader dbdatareader