与此链接类似,但我正在处理的项目不使用LINQ to SQL的ORM组件(我们更多地使用它来快速生成到db的ADO.Net接口).
目前,我们遵循的模式是:
var result = myDataContext.GetAllCustomersAndOrders();
Run Code Online (Sandbox Code Playgroud)
并且存储过程如下所示:

我需要采取额外的步骤吗?我是否需要扩展生成的dbml或数据上下文部分类文件?
希望这是有道理的......解释起来有点困难,我发现的所有示例都使用dbml的ORM片段(将表拖放到dbml设计器表面).
是的,你可以这样做,但我需要为你的dbml创建一个部分类.
因此,如果您的dbml文件是MyLinqToSQL.dbml
这将创建一个MyLinqToSQL.cs的部分类.
现在...
所有结果集都将在IQueryable的单个集合中返回.
然后,您可以使用反射来确定每个集合项的类型,然后将其转换为使用.
请参阅http://kishor-naik-dotnet.blogspot.com/2011/12/linq-multiple-result-set-of-procedure.html