我有以下存儲過程:存儲過程返回沒有列
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'聲明?這是什麼特定於該存儲過程還是你得到這個所有存儲過程? –