Linq的输出参数

时间:2010-09-30 09:58:59

标签: c# sql linq

我是新手,习惯了LINQ。我使用SPROCS返回结果集。没问题。

但是我遇到了OUTPUT params& amp; LINQ。

存储过程我很简单

CREATE PROCEDURE [dbo].[PROCNAME] 
 -- Add the parameters for the 
stored procedure here
   @tcStageOccurrences smallint output

 SELECT @tcStageOccurrences =
           isnull(COUNT(*),0) from 
           Stage where Condition

我在C#中调用它如下

System.Nullable<Int16> tcStageOccurences = null; 
MyDb.ProcName(ref @tcStageOccurrences);

@tcStageOccurrences的值为0,而它应该是> 0

问题

  1. 我一直使用SQLparam&amp; ExcuteReader或ExecuteNonQuery没有任何问题。 既然我想在LINQ中做同样的事情,那么我错过了什么吗?
  2. 我知道我可以而且可能应该使用标量函数。

    但在某些情况下,我需要在C#

    中访问多个OUTPUT参数

    欢迎任何帮助或有用的提示: - )

    此致

1 个答案:

答案 0 :(得分:1)

在考虑过这个之后我得到了答案,并且它也涉及了一些实验。

这就是我所做的:

  1. 声明了类型为smallint
  2. 的内部/临时变量
  3. 将select语句的计数值分配给此变量
  4. 将临时变量的值分配给我的输出参数
  5. 这有效!

    欢迎任何进一步的评论等!