MSDN のドキュメントによると、このようなストアド プロシージャを記述できます。
CREATE PROCEDURE MultipleResultTypesSequentially
AS
select * from products
select * from customers
次に、このようにLINQから読み取ります
IMultipleResults sprocResults =
db.MultipleResultTypesSequentially();
// First read products.
foreach (Product prod in sprocResults.GetResult<Product>())
{
Console.WriteLine(prod.ProductID);
}
// Next read customers.
foreach (Customer cust in sprocResults.GetResult<Customer>())
{
Console.WriteLine(cust.CustomerID);
}
select ステートメントの 1 つが通常のテーブル オブジェクト以外のものを返した場合 (結合または特定の列の選択のみ) はどうなりますか?
次の SELECT を読み取りたいことを LINQ に知らせるにはどうすればよいですか ??? 基本的に、私が疑問に思っているのは、ストアドプロシージャでその順序で書かれているため、最初に製品を読んでから顧客を読んでいるMSDNのこの例.GetResult<Customer>()
です。また、この未知のタイプの foreach ループはどのように見えるでしょうか?