如何处理从存储过程返回给c#调用程序的多个字段?
本文关键字:程序 调用 字段 返回 何处理 处理 存储过程 | 更新日期: 2023-09-27 18:14:25
我希望能够从我在SP中填充的变量返回以下数据:
@RC - a one or zero return code
@AnswerGridCorrect - This would be a VARCHAR(20)
我像这样调用我的存储过程,但我不确定如何获得返回的数据。我是否必须在SP结束时执行SELECT以使这些返回。另外,我如何在我的c#代码中读取数据。
我现在正在做的是:
await db.Database.ExecuteSqlCommandAsync(sql, parameters);
我今天早上才算出来。EF文档涵盖了基于SP的确切主题,但我没有看到在该过程中假设正在执行的SQL是SP,而不是返回多个结果集的任意SQL语句集(因为它使用底层ADO)。. NET数据读取器)。
具有多个结果集的存储过程. 总之,对于代码首先:使用上下文的Database.Connection
属性打开连接。创建一个DbCommand
并执行它(对于DbDataReader
)。然后使用IObjectContextAdapter
的上下文实现将每个结果集转换为EF实体(并开始跟踪)。
首先,您需要编辑模型的XML定义,然后在生成代码中使用SPs包装器返回的类型。
我相信您会想要使用输出参数,看看您是否可以调整此示例以满足您的需求:
http://support.microsoft.com/kb/310070