日期:2014-05-20  浏览次数:21094 次

.net entity framework 存储过程 能直接返回 datatable吗
因为需要实现的是一个报表功能

列是按照 用户 在界面上选择的 列 来自动生成的

所以每次出来的数据部固定 无法使用 实体类型来 映射

设计器并没有提供对返回值不是实体(比如无返回值和标量返回值)的存储过程的自动生成

求大神给点方案

设计器并没有提供对返回值不是实体(比如无返回值和标量返回值)的存储过程的自动生成。

.net  framework  4.0


存储过程如下:

ALTER Proc BroadBand_GetReports      
(      
 @CableID VarChar(200),      
 @WorkStationID INT,      
 @StartTime datetime,      
 @EndTime datetime      
)      
      
as      
      
--BEGIN REPORT       
      
--1. select data      
      
select r.ID,      
       r.CableID,      
    r.SubCabelID,      
    r.ProductCode,      
    r.WorkStationID,      
       r.DataElementID,      
    r.DataElementValue,      
    r.CreateUser,      
    r.ChangeUser,      
    r.ChangeDate,      
    r.CreateDate,      
    r.ShiftID,      
    r.Category,      
    r.Property1,      
    r.Property2,      
    r.Property3,      
    r.Property4,      
    r.Property5,      
    w.WorkStationName +  e.DataElementName AS element      
into #tempnpi       
from RoutingWorkstationDataElement r,      
     DataElement e,      
     WorkStation w      
where r.DataElementID=e.DataElementID and r.WorkStationID = w.ID      
and r.changeDate between '2012-07-10' AND  '2012-07-12'      
       
      
--2. summary multi times to only one       
      
DECLARE @DataElementID INT,  @DataElementValue Varchar(500)      
      
DECLARE Element_Cursor CURSOR FOR       
      
SELECT CableID, WorkStationID, DataElementID, DataElementValue from #tempnpi