2

FTS エンジンを有効にして MSSQL 2012 を実行しています。varchar 列で全文検索を実行する次の sproc があります。

CREATE PROCEDURE [PROE].[SP_SearchLabOrdersByPatientNameAndDateRange]
    @searchString varchar(160)
    , @dtFrom datetime
    , @dtTo datetime
AS
    SET NOCOUNT ON

    SELECT ord.Id, ord.FullName, ord.SomeOtherColumns
    FROM
        PROE.PatientLabOrders ord
    WHERE
        FREETEXT(ord.FullName, @searchString)
        AND ord.OrderDateTime BETWEEN @dtFrom AND @dtTo

上記のストアド プロシージャをインポートすると、EDM モデル デザイナーに DTO 列の情報が表示されません。代わりに、モデル ブラウザに次のメッセージが表示されます。

選択したストアド プロシージャまたは関数は列を返しません

画像は次のとおりです。

他の列で通常の (FTS ではない) 検索を実行するこの sproc のバリエーションがいくつかあります。これらの sproc はすべて EF 5 によって適切にインポートされます。上記の sproc のみが全文検索を使用しています。上記のストアド プロシージャを SQL サーバー マネージャーで実行したところ、期待どおりに行が返されました。それでも、EF5 デザイナーは、sproc によって返された列を検出できません。

私は何を間違っていますか?

4

1 に答える 1

0

return キーワードを使用して、探している列を返す必要があるため、これを行った経験がないため、Google のクエリを投稿するつもりはなく、うまくいくことを願っていますが、これは問題ではありません。 .

于 2013-07-19T10:26:54.160 に答える