2011-03-31 62 views
0

我是Linq服务器的新手。 我的数据库中有一个存储过程,可以重新计数计数。用linq调用存储过程

select COUNT(*) from tbl_WorkerUsers 
     where [email protected] 

,当我直接在我的数据库中运行它,它返回1

exec checkWorkerCodeAvailibility 100000312 

,但是当我在C#代码运行它,它总是返回null。

WorkerDataContext Wkc = new WorkerDataContext(); 
     int? result = Wkc.checkWorkerCodeAvailibility(Int32.Parse(Wcode)).Single().Column1; 

有什么不对?

+0

在Wkc.checkWorkerCodeAvailibility(Int32.Parse(Wcode))添加一个断点。单()列1。并检查Wcode变量的值也检查分析器,这可能会给你一个线索 – 2011-03-31 09:46:48

回答

3

定义你的存储过程是这样的:

CREATE PROCEDURE [dbo].[checkWorkerCodeAvailibility] 
    @Wcode int = 0 
AS 
BEGIN 
    SET NOCOUNT ON; 

    DECLARE @Result INT 
    SELECT @Result = COUNT(*) FROM tbl_WorkerUsers WHERE [email protected] 
    RETURN @Result 
END 

然后,您可以使用下面的代码访问此:

int result = db.checkWorkerCodeAvailibility(Int32.Parse(WCode));