我有以下存储过程:存储过程返回没有列
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[SearchMediaTitles]
@query varchar(50),
@limit int = 6,
@userId int
AS
SET FMTONLY OFF
BEGIN
declare @searchString varchar(52)
set @searchString = '"' + @query +'*"'
IF @userId!=NULL
SELECT TOP (@limit) ID, Title from Media where CONTAINS([Title], @searchString)
AND ID IN
(
SELECT FavoriteMedia_ID
FROM dbo.UserMedia
WHERE [email protected]
)
ELSE
SELECT TOP (@limit) ID, Title from Media where CONTAINS([Title], @searchString)
END
在实体框架,当我尝试它在功能导入它说
选定存储映射的复杂类型程序返回没有列
我已阅读关于此在互联网上,我发现我需要设置SET FMTONLY OFF
,但正如你所看到的那样没有奏效。
任何想法?
编辑:
我已经改变了SELECT
到*
并返回一个空的结果。我认为这是关系到上述
位A bodge的,但如果你只是临时更改定义什么'SELECT ID,从Media'标题所以它是一个简单的直线前进,没有条件逻辑PROC然后进行实体框架映射,然后把你原来的代码早在两条路径看起来像他们将返回该形状的结果集。 –
我想这一点,但它不工作 – Kosmog
你摆脱'SET FMTONLY'声明?这是什么特定于该存储过程还是你得到这个所有存储过程? –