C# 存储过程不返回任何列

C# 存储过程不返回任何列,c#,entity-framework,stored-procedures,C#,Entity Framework,Stored Procedures,我已经在互联网上搜索过了,没有找到解决我的问题的方法。我有一个存储过程,我正试图创建一个实体对象,以便在我的项目中使用,当我尝试添加导入函数时,我遇到了这个错误 所选存储过程或函数不返回任何列 下面是存储过程SQL ALTER Procedure [dbo].[RHS_LocationFullTextSearch] @SearchText varchar(100) as Begin SET FMTONLY OFF select relo.SearchID, relo.SearchText, r

我已经在互联网上搜索过了,没有找到解决我的问题的方法。我有一个存储过程,我正试图创建一个实体对象,以便在我的项目中使用,当我尝试添加导入函数时,我遇到了这个错误

所选存储过程或函数不返回任何列

下面是存储过程SQL

ALTER Procedure [dbo].[RHS_LocationFullTextSearch]
@SearchText varchar(100)
as
Begin
 SET FMTONLY OFF
select relo.SearchID, relo.SearchText, relo.SearchType, relo.SourceTable,  relo.SourceTableRecordID
from RELOHomeSearch.dbo.RHS_LocationSearch relo (nolock)
where contains (SearchText, @SearchText)
End

这是一个错误屏幕

下面是存储过程返回结果的表对象的屏幕


任何帮助都将不胜感激。谢谢

我通过删除where子句解决了这个问题。出于某种原因,公用事业公司不喜欢它。不知道为什么。

这是什么味道的sql?sql Server 2012版本11.0.3128如果在
SET FMTONLY OFF
之后添加
GO
会发生什么情况,请尝试删除
SET FMTONLY OFF
行。大多数设计器需要在
设置为FMTONLY ON
的情况下执行查询,以确定返回的列。设计器可能正在将
Null
传递给参数。如果将
Null
作为搜索条件传递,则
Contains
方法将引发错误。如果在
选择
之前添加
如果@SearchText为空,则设置@SearchText=''''''''
,它应该可以工作。