2013-01-15 148 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