正在调用SQL Server存储过程,在SQL Server中创建新的SP对象
本文关键字:Server SQL SP 对象 创建 调用 存储过程 | 更新日期: 2023-09-27 18:24:25
我有一个存储过程,它根据两个不同的输入返回两个结果集。
如果我从不同的C#方法调用相同的存储过程来检索结果集,它是如何工作的?
它是作为OO概念工作的吗?就像每当我调用存储过程时,它是不是在SQLServer&是否返回结果集?
简短回答:不。
不存在"SP对象"这样的东西。此外,从C#调用它不会影响答案。
您可以将存储过程看作是在面向对象之前的一个简单过程。SQL Server中没有保存状态或其他任何内容的对象。您提供输入,它会给您一个结果,SP的代码就会结束。在这一点上,SQL服务器认为请求已经完成,并且在功能上忘记了请求已经发出。
现在,C#将把SP调用的结果封装到一个SqlReader
对象中——这是客户端。原因是为代码提供了更多的灵活性,例如能够迭代datatable
的行,或者获取特定列的属性。
然而,所有这些都发生在C#中,并且完全取决于最初用于调用SP的框架。例如,LINQ和各种ORM可以自动将每一行转换为一个对象。