假设我们有一个存储过程,判断a是否关注了b,然后这个存储过程被c#的entity framework作为函数导入调用。不想在函数导入中判断返回结果是否为空来处理,而是希望数据库的存储过程能够直接返回一个bool值。
实现方式如下:
CREATE PROCEDURE IsFocus
@a INT,
@b INT
AS
BEGIN
SET NOCOUNT ON;
DECLARE @res bit
IF EXISTS(SELECT * FROM dbo.foucs WHERE [user1]=@a AND [user2]=@b)
SET @res=1
ELSE
SET @res=0
SELECT @res AS res
END
GO
然后在entity模型中导入这个存储过程即可