我正在运行启用了 FTS 引擎的 MSSQL 2012。我有以下 sproc 对 varchar 列执行全文搜索:
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)搜索 - 所有这些存储过程都由 EF 5 正确导入。只有上面的存储过程使用全文搜索。我已经在 SQL 服务器管理器中运行了上述存储过程,它按预期返回了行。然而,EF5 设计器仍然无法检测存储过程返回的列。
我究竟做错了什么?