.net LinqToSql如何生成存储过程的输出结果

.net LinqToSql如何生成存储过程的输出结果,.net,linq,stored-procedures,linq-to-sql,.net,Linq,Stored Procedures,Linq To Sql,例如,您有一个标题为:sp\u test 当您拖动到LinqToSql中时,它会生成sp_testResult类,并将存储过程输出列作为其属性 我想知道LinqToSql如何区分存储过程的输出结果?以下是SqlCommandBuilder.GetSchemaTable(…)中发生的情况,不幸的是受到了保护 SqlCommand command; // setup as SP using (SqlDataReader reader = command.ExecuteReader(

例如,您有一个标题为:
sp\u test
当您拖动到LinqToSql中时,它会生成
sp_testResult
类,并将存储过程输出列作为其属性


我想知道LinqToSql如何区分存储过程的输出结果?

以下是
SqlCommandBuilder.GetSchemaTable(…)
中发生的情况,不幸的是
受到了保护

SqlCommand command; // setup as SP

using (SqlDataReader reader = command.ExecuteReader(
             CommandBehavior.KeyInfo | CommandBehavior.SchemaOnly))
{
  return reader.GetSchemaTable();
}
结果
DataTable
将包含输出架构


如果我没记错的话,您不必为这项工作传递参数。

它在SQL server上运行查询,将为您提供所需的所有信息。您确定已获得所需的所有信息吗!?sql server中没有关于
存储过程的输出列名的任何信息。你可以使用
INFORMATION\u SCHEMA
来获取它们,但它只提供有关
用户定义函数的信息。啊,我明白你的意思了。它通过.NET的工作方式是在通过
SqlCommand
执行SP时仅使用
CommandBehavior.SchemaOnly
。空结果集有足够的信息来描述输出列和类型。谢谢!你能用一个例子解释一下吗,如
答案