使用 ADO.NET 调用运行存储过程IDbCommand.ExecuteReader(SchemaOnly)
,如果存储过程使用临时表,则会引发异常。例外是 " Invalid object name '#tempPCBBHolidays'."
(这是表的名称)。
所以...
CommandBehavior.SchemaOnly
对存储过程使用一个坏主意吗?如果是这样,当我只需要元数据时,我应该改用元数据CommandBehavior.SingleRow
吗?
或者我应该把调用放在 try/catch 中,并且只在异常切换到SingleRow
? (这是针对我们发布的 SQL 工具,所以我不知道会调用什么存储过程。)
还是有另一种更好的方法?
谢谢 - 戴夫