Vb.net 无法检测到LINQ-返回类型
我有一个简单的存储过程,它返回一个值。但是,在LINQ dbml中删除该SP时,我得到: 无法检测到以下存储过程的返回类型。在“属性”窗口中为每个存储过程设置返回类型 我有几个SP显示了这一点,但大多数都很好。如果不是绝对必须的话,我不想手动设置它们-我希望SP是正确的,并且便于LINQ确定 以下是SP:Vb.net 无法检测到LINQ-返回类型,vb.net,linq,sql-server-2008,Vb.net,Linq,Sql Server 2008,我有一个简单的存储过程,它返回一个值。但是,在LINQ dbml中删除该SP时,我得到: 无法检测到以下存储过程的返回类型。在“属性”窗口中为每个存储过程设置返回类型 我有几个SP显示了这一点,但大多数都很好。如果不是绝对必须的话,我不想手动设置它们-我希望SP是正确的,并且便于LINQ确定 以下是SP: @intPD integer AS set nocount on Declare @dtmStart datetime, @dtmEnd datetime, @fltDown float
@intPD integer
AS
set nocount on
Declare
@dtmStart datetime, @dtmEnd datetime, @fltDown float
EXEC sp_ShiftStart @intPD, @dtmStart OUTPUT
Declare @results TABLE(Dur varchar(100))
Insert into @results
EXEC sp_Down 3, @intPD, @dtmStart, @dtmEnd, null, 10, @fltDown OUTPUT
Select @fltDown as Dur
返回值是一行,其中有一个名为“Dur”的字段
但是LINQ似乎并不理解,即使我已经明确定义了输出。可能您需要阅读以下内容:简短回答在这里描述的某些情况下,您无法获取创建映射/提供程序所需的元数据等…我查看了其中一个,但我使用的是SQL Server 2008,而不是2012(因此我没有该sp进行检查).但您已将
设置为fmtony
;当我在SP中将其设置为“开”时,它不会给出任何结果。默认情况下,它被设置为OFF,这会给出结果。我不能设置它,这样我就没有结果了。你不明白它的目的。将其设置为on将仅返回resultset的SP元数据(列、类型等)