2

次のようなストアド プロシージャがあります。

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

今、私はこの手順を EF で使用したいと考えています。EF のプロシージャから返された 2 つの SELECT リクエストの両方を使用できますか?!

注:結果だけを返す場合、このストアドプロシージャをどのように使用できるか知っています

ありがとう

4

1 に答える 1

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();
     }
}
于 2013-06-06T00:34:33.103 に答える