次のようなストアド プロシージャがあります。
CREATE STORED PROCEDURE Test1
AS
BEGIN
SELECT * FROM Table1
SELECT * FROM Table2
END
今、私はこの手順を EF で使用したいと考えています。EF のプロシージャから返された 2 つの SELECT リクエストの両方を使用できますか?!
注:結果だけを返す場合、このストアドプロシージャをどのように使用できるか知っています
ありがとう
次のようなストアド プロシージャがあります。
CREATE STORED PROCEDURE Test1
AS
BEGIN
SELECT * FROM Table1
SELECT * FROM Table2
END
今、私はこの手順を EF で使用したいと考えています。EF のプロシージャから返された 2 つの SELECT リクエストの両方を使用できますか?!
注:結果だけを返す場合、このストアドプロシージャをどのように使用できるか知っています
ありがとう
ここにあなたの質問への答えがあります
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();
}
}