2013-01-15 151 views
2

我有一个存储过程是这样的:处理多个结果集

CREATE STORED PROCEDURE Test1 
AS 
BEGIN 
SELECT * FROM Table1 
SELECT * FROM Table2 
END 

现在我想用在EF.How这个过程?我可以在EF中使用从过程返回的两个SELECT请求吗!

注:我知道我可以使用此存储过程,如果返回只是结果

感谢

回答

3

这里是回答你的问题

 using (var db = new EF_DEMOEntities()) 
    { 
     var cmd = db.Database.Connection.CreateCommand(); 
     cmd.CommandText = "[dbo].[proc_getmorethanonetable]"; 

     try 
     { 
      db.Database.Connection.Open(); 
      using (var reader = cmd.ExecuteReader()) 
      { 
       var orders = ((IObjectContextAdapter)db).ObjectContext.Translate<Order>(reader); 
       GridView1.DataSource = orders.ToList(); 
       GridView1.DataBind(); 
        reader.NextResult(); 
       var items = 
     ((IObjectContextAdapter)db).ObjectContext.Translate<Item>(reader); 
       GridView2.DataSource = items.ToList(); 
       GridView2.DataBind(); 
       reader.NextResult(); 
       var collect = ((IObjectContextAdapter)db).ObjectContext.Translate<object>(reader); 
     GridView3.DataSource = collect.ToList(); 
     GridView3.DataBind(); 

     } 
    } 
     finally 
     { 
      db.Database.Connection.Close(); 
    } 
} 
+0

如果什么SP与参数? – Yaman