Sql 实体框架4函数导入存储过程复杂类型不返回列
我已经导入了一个SP到实体的数据模型,并将其添加到函数导入中 我可以获取列信息并创建复杂类型Sql 实体框架4函数导入存储过程复杂类型不返回列,sql,entity-framework,stored-procedures,complextype,Sql,Entity Framework,Stored Procedures,Complextype,我已经导入了一个SP到实体的数据模型,并将其添加到函数导入中 我可以获取列信息并创建复杂类型GetErrorCheckJobs\u Result 但是,在我将参数添加到sp并尝试更新(刷新、删除和添加回)函数导入后,它无法检索列信息 它说:所选存储过程不返回任何列 我在网上搜索了各种解决方案,并且 SET NOCOUNT OFF SET FMTONLY OFF 在我的SP开始时,但仍然没有运气 这是我的sp: ALTER Procedure [dbo].[s_GetErrorCheckJob
GetErrorCheckJobs\u Result
但是,在我将参数添加到sp并尝试更新(刷新、删除和添加回)函数导入后,它无法检索列信息
它说:所选存储过程不返回任何列
我在网上搜索了各种解决方案,并且
SET NOCOUNT OFF
SET FMTONLY OFF
在我的SP开始时,但仍然没有运气
这是我的sp:
ALTER Procedure [dbo].[s_GetErrorCheckJobs]
@ErrorChecked bit
as
begin
SET NOCOUNT OFF
SET FMTONLY OFF
IF OBJECT_ID('tempdb..#TempColumns') IS NOT NULL DROP TABLE #TempColumns
create table #TempColumns
(
AssetID int
,JobReference varchar(30)
,DetailCode varchar(4)
,Lamp varchar(255)
,pLamp varchar(255)
,LuminaireType varchar(255)
,pLuminaireType varchar(255)
,ColumnStyle varchar(255)
,pColumnStyle varchar(255)
,ColumnHeight varchar(255)
,pColumnHeight varchar(255)
,ColumnOutreach varchar(255)
,pColumnOutreach varchar(255)
)
//Insert into #TempColumns
//update #TempColumns
select
v.JobId
,v.JobReference
,v.ErrorChecked
,v.WASPAssetId
,v.StreetlightId
,v.DateReceived
,v.DateDueActual
,v.DateCompleted
,v.ActivityCodeIdActual
,v.CrewId
,v.JobCause
,v.Suburb
,v.Address
,v.Problem
,v.SpecialInstructions
,v.Notes
,t.Lamp
,t.pLamp
,t.LuminaireType
,t.pLuminaireType
,t.ColumnStyle
,t.pColumnStyle
,t.ColumnHeight
,t.pColumnHeight
,t.ColumnOutreach
,t.pColumnOutreach
from v_errorcheck_jobs v
join #TempColumns t on t.jobreference = v.jobreference and t.assetid = v.waspassetid
where v.ErrorChecked = @ErrorChecked
end
感谢您的帮助复制了sp并将其重命名
整个过程是否再次复制sp并将其重命名
整个过程又进行了一遍有点晚了,但是你必须在选择“real”之前重新打开无计数,以便它可以使用它来创建投影列表。有点晚了,但是你必须在选择选择“real”之前重新打开无计数,这样它就可以使用它来创建投影列表。您是否尝试过取消函数导入并重新添加它?当这种情况正常发生时,唯一的修复方法是进入edmx的xml并删除复杂对象以及函数导入和映射的所有痕迹,我通常从复杂类型开始,在名称上进行查找,然后在函数导入上进行查找。您是否尝试取消函数导入并重新添加它?正常情况下,解决此问题的唯一方法是进入edmx的xml,删除复杂对象以及我们的函数导入和映射的所有痕迹,我通常从复杂类型开始,查找名称,然后查找importI运行的函数。我所发现的最可靠的方法是,将“数据契约”(一个虚假的select语句)放在存储过程的顶部,条件永远不会计算为真,正如这里所提供的:我也遇到了这个问题。我所发现的最可靠的方法是,将“数据契约”(一个虚假的select语句)放在存储过程的顶部,在一个永远不会计算为真的条件下,如下所述: